I’m not sure if it’s even better than ancient BASIC. You can do a lot more in it, but I don’t even have a clue how to be certain that Python code is correct. There are just too many ways in which data types get converted back and forth implicitly; moreover, type checking almost always has to be done at run time, and can be endlessly complex if it is to be complete.
Part of the problem is that the language is one of those that tries to be 100% ‘object oriented’. Classes and objects are among the most complicated and treacherous data structures available, and every single type in Python, even a lowly integer, is a class or object, and not trivially so. The abuse of ‘object-orientation’ is extreme; an obvious example is how printf-like formatting is an inherent behavior of an ordinary character string. This is insane.