The characteristics of Python make it a programming language above all simple, its use is learned in a few days, without presenting great difficulties thanks to a streamlined and very practical syntax; in addition, by presenting a really large number of bookcases included in the distribution and integrated with the installable ones, it is possible, as already anticipated, to realize our programs in a very short time.
Python is particularly dynamic, an example is provided by the fact that the variables can be safely used without the need to declare the type, then the interpreter will be able to identify them; all this, however, without losing precision because operations that are not allowed between different types will cause an error, ie it will never happen, in a more or less hidden way, that a value of a certain type is used as if it were of a different type (strong typing).
Thanks to this, an operation of type 1+ “2” (sum of a number and a string) will cause a runtime error, unlike languages like php or perl that do not allow a similar control.
In Python it is possible to manipulate classes and methods at runtime, ie they can be added, deleted or modified. In this way many of the things that in other languages represent complex structures can in Python constitute simple methods; it is also possible to add custom classes and methods, creating Domain Specific Language (DSL). A Domain Specific Language is a mini-language suitable for a specific problem, the ideal would be to have a language for every purpose, but without the problem of having to learn it from scratch each time.