Although the python language has many good features, here are a few bad features that I have encountered.

There is no requirement to declare variables, so it is possible to mistype the name of a variable and inadvertantly create a new one or try and refer to a non-existant one. This leads to bugs that are hard to find, especially as much checking is deferred until run-time and only happens if that code is executed.

The white space indentation scheme works for small code segments and a few levels of indentation, but for large blocks of code and lots of nested blocks it can be hard to keep track. Of course functions should be used, but see the next issue.

There is a high execution time overhead for calling functions. Various articles have been written to explain how to write faster python code, but the sad fact is that often the best speed up is to move a function body into the body of a loop. This exacerbates the previous issue and, even then, python is not suited to computationally intensive tasks.