Features of Python:
1. Simple and
easy to learn:
Python is a simple programming language. When we read Python program, 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 very less number of lines. Hence more readability and simplicity
is there in Python. We can reduce development and cost of the project.
2. Freeware
and Open Source:
We can use Python software without any licence and it is freeware.
Its source code is open, so that we can we can customize based on our
requirement.
Eg: Jython is 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. i.e. we can migrate from one platform to
another platform very easily. Python programs will provide same results on any
platform.
6. Dynamically Typed:
In Python we are not required to declare type for variables. Whenever we
are assigning the value, based on value, type will be allocated automatically. Hence
Python is considered as dynamically typed language.
But Java, C etc are Statically Typed Languages because 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 explicitly. Internally
Python interpreter will take care of that compilation.
If compilation fails, interpreter raises syntax errors. Once compilation
occurs successfully 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 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 for mobile Applications
Flavours of Python:
1.CPython: It is the standard
flavour of Python. It can be used to work with C language Applications
2. Jython or JPython: It is for
Java Applications. It can run on JVM
3. IronPython: It is for C#.Net
platform
4.PyPy: The main advantage of
PyPy is performance will be improved because JIT compiler is available inside
PVM.
5.RubyPython: For Ruby
Platforms
6. AnacondaPython: It is specially
designed for handling large volume of data processing.