Why doesn’t Python automatically convert the number to a string?
The answer becomes more clear as you learn to debug larger projects, and was carefully thought out when the language was being designed. In Python, and many other languages, the belief is that explicit is better than implicit. This means you should write your code with explicit functionality because by doing so, errors produced will help you understand where you went wrong.
For example, if we don’t convert a number to a string before concatenating it with a string, it gives a specific error that we are accustomed to looking for. However, if Python did this conversion automatically and, somehow, there was a bug in our program, it wouldn’t throw an error message because it converted as the language intended behind the scenes, but produced some unexpected output.