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 that 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 high-level programming language and hence it is programmer friendly
language. - Being a programmer we are not required to concentrate 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 of 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 have to provide type at the
beginning only. - 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 explcitly. Internally Python
interpreter will take care that compilation. - If compilation fails interpreter raised syntax errors. Once compilation success then
PVM (Python Virtual Machine) is responsible to execute.
9) Extensible:
- We can use other language programs in Python.
- The main advantages of this approach are:
1. We can use already existing legacy non-Python code
2. 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.
Limitations of Python:
1) Performance wise not up to the mark because it is interpreted language.
2) Not using Mobile Applications.