1) Simple and easy to learn: Python is a simple programming language. When we read Python programs, we can feel like reading English statements. The syntaxes are very simple and only 30+ keywords are available. When compared with other languages, we can write programs with a very less number of lines. Hence more readability and simplicity. We can reduce the development and cost of the project.
2) Freeware and Open Source: We can use Python software without any license and it is freeware. Its source code is open, so we can customize based on our requirements. Eg: Jython is a customized version of Python to work with Java Applications.
3) High-Level Programming language: Python is a high-level programming language and hence is a programmer-friendly language. Being a programmer we are not required to concentrate on low-level activities like memory management and security etc.
4) Platform Independent: Once we write a Python program, it can run on any platform without rewriting once again. Internally PVM is responsible to convert into machine-understandable form.
5) Portability: Python programs are portable. ie we can migrate from one platform to another platform very easily. Python programs will provide the same results on any platform.
6) Dynamically Typed: In Python, we are not required to declare the type for variables. Whenever we are assigning the value, based on the value, the type will be allocated automatically. Hence Python is considered a dynamically typed language. But Java, C etc are Statically Typed Languages b'z we only have to provide type at the beginning. This dynamic typing nature will provide more flexibility to the programmer.
7) Both Procedure-Oriented and Object-Oriented: Python language supports both Procedure oriented (like C, pascal, etc) and object-oriented (like C++, Java) features. Hence we can get benefits of both like security and reusability etc
8) Interpreted: We are not required to compile Python programs explicitly. Internally Python interpreter will take care of that compilation. If compilation fails interpreter raised syntax errors. Once compilation succeeds, PVM (Python Virtual Machine) is responsible for executing.
9) Extensible: We can use other language programs in Python. The main advantages of this approach are: We can use already existing legacy non-Python code We can improve the performance of the application
10) Embedded: We can use Python programs in any other language programs. i.e we can embed Python programs anywhere.
11) Extensive Library: Python has a rich inbuilt library. Being a programmer we can use this library directly and we are not responsible to implement the functionality. Etc.