Python is a high-level programming language that is procedural, functional and object-oriented. Python has been on the rise in the list of popular programming languages that include C, C++, Java and more. Let us know more in this Last Minute Python Basics Tutorial on History, Features, Versions, Implementations and Uses.
Python Basics History - Features - Versions
Python was developed by Guido Van Rossum in late 1980s. The first version of Python was released in the year 1991. Van Rossum was inspired by the ABC programming language that led to the development of Python. Python Logo contains two cartoon snakes lying side by side facing up and down. The name python was adopted from a BBC TV show "Monty Python's Flying Circus".
Python is both a scripting language and a programming language. Python programs are usually concise and less number of lines of code is enough to implement any complex task. Its counterparts, C and Java languages significantly add tens of hundreds of lines of code.
C and Java developers find it very easy to learn the basics of Python programming language in no time.
Features of Python
- Simple - Python is easy to learn and understand.
- Object-Oriented - Python implements all object-oriented features like encapsulation, polymorphism and inheritance.
- High Level - Python code is easily readable and maintainable. So it is called a high-level language like C and Java.
- Portable - Python programs can be compiled to a byte code which can be executed to get the same output on any operating system like Windows, Linux, Unix, macOS etc.
- Secure - Python programs run inside Python Virtual Machine (PVM) software. It is like a confined RAM memory area that does not interfere with the RAM used by the Operating system (Kernel).
- Dynamically Typed - Python language does not impose so many rules to create and use variables. A variable in python can hold any data type without any compiler complaint. C and Java are statically-typed languages as the compiler insists to declare the type of the variable before use.
- Memory Management - Python treats all variables like objects. So all object assignments do not allocate new memory. Hence less memory is sufficient to run Python programs. Its garbage collector works automatically. All allocations and deallocations are monitored from time to time by GC.
- Large Library - To work with different types of files and various formats of data, there are a number of libraries or packages available readymade. These are developed for Python to ease your work. You can easily work with CSV, Excel, JSON, MySQL and other data by using these "Batteries Included" packages.
Versions of Python
The most popular version of Python used by the developer community is Python-2.7. It was released on 2010-03-03. But the support for it was officially ended on January 1, 2020. Python Software Foundation released many new versions under Python-3.x. The very first Python-3 was released on December 3, 2008, under Python-3.0.0. Here also the old versions 3.5 and below were discontinued.
New Python developers can directly learn and work on Python-3.6 and above versions for better support and adoption by the software companies.
Flavours or Implementations or Variations of Python Compiler
Python code can be embedded inside other programming languages. Similarly, the code from other programming languages can be embedded inside Python language. This flexibility makes developers choose a particular version of Python compiler that depends on the programming languages the developer needs integration with. Below are the few Python compilers with a specific purpose.
CPython is the default python compiler shipped by the Python Software Foundation (PSF) for developers. It is written in C language. So, it supports running C and C++ programs too along with Python programs. Its PVM (Python Virtual Machine) uses an interpreter (turns byte-code to machine-code) to run the program. So, it is slow.
PyPy compiler runs Python programs very fast. Thanks to its PVM shipped with a compiler instead of an interpreter to run the Python programs. This PyPy compiler is written in RPython language.
This Stackless Python compiler is designed to handle multiple tasks attached to a single thread efficiently.
This IronPython compiler allows running the python programs on the .NET (DOT-NET) Common Language Runtime. So this compiler runs .NET programs too.
This Jython compiler allows running python programs on a JVM (Java Virtual Machine). So a Jython can handle both Java and Python programs.
There are other noteworthy Python compilers like Pyrex, Pyjs, Nuitka, Grumpy etc.
Uses of Python
Python language has become very popular that it has been introduced as a subject for Class-11 students in India. It is used in a variety of sectors across the globe.
Category wise uses along with packages required are listed below.
- Game Development - Modules like PYgame are used to develop games in Python. These games run on most of the operating systems.
- Web Development - Python is used along with Frameworks like Django, Pyramid, Bottle, Tornado, Flash and Web2PY.
- GUI Development - Python is used along with Frameworks like tkInter, PyGObject, PyQt, PySide, Kivy and wxPython.
- Scientific and Numeric Applications - Python is used along with SciPy, Pandas and IPython.
- Software Development - Python is used along with Buildbot, Trac and Roundup.
- System Administration - Python is used with Ansible, Salt and OpenStack.
We choose a CPython compiler though out this Last Minute Python Tutorial.
In the coming chapters, you are going to learn the basics of compiling and running Python example programs using the Windows 10 operating system.
Share this Python tutorial with your friends and colleagues to encourage authors.