Python’s syntax makes it perfect for building simple DSLs for use within your application, thanks to its syntax and metaprogramming features.
We have already specified that Python is totally Object Oriented, this translates into the fact that in Python everything is an object. In this aspect it manages to outclass the language to objects par excellence and that is Java since in Python there is no distinction between basic types and objects, at the same time the object-oriented programming in Python is neither invasive nor annoying, and this is due to its greater purity.
A feature particularly appreciated by Python programmers was the possibility of using so-called blocks that represent an uncommon feature in the most widespread languages and which allow to represent different problems, even very different from each other, with clear and meaningful methods.
The Python is loved, in the same way, by professional programmers who appreciate the most advanced features, and beginners as it is particularly suitable to be learned as a first language.
In fact, thanks to its simplicity, it is possible to learn the basic notions of programming, without having to worry about innumerable conventions and aspects not strictly related to the realization of numerical algorithms.
Moreover Python is effectively expressive in that it provides many built-in data structures and types (the built-in types represent the types already defined in the language); examples are:
- whole numbers of arbitrary size.
The Python syntax means that the classes have a very detailed interface, which determines a simplicity in use in common operations.