Python is basically an interpreted language, which means that unlike other programming languages and its variants, Python doesn’t need compiling before being run. Other interpreted languages include Ruby and PHP.
Another feature that makes Python special is that its dynamically typed. This simply means that one doesn’t need to state the types of variables when you declare them or anything like that.
It is very well suited to object orientated programming. It allows the definition of classes along with inheritance and composition. Python does not have access specifiers like public, private or C++, the justification for this point is given as “we are all adults here”
In this programming language the functions are all first-class objects. As the language can be assigned to variables, returned from other functions and passed into functions. Classes are also first class objects