What is Python (Programming)? - The Basics
Before getting started, lets get familiarized with the language.
Python is a general-purpose language. Meaning, it has wide range of applications from Web development (like: Django and Bottle) to scientific and mathematical computing (Orange, SymPy, NumPy) to desktop graphical user Interfaces (Pygame, Panda3D).
The syntax is clean and the code length is short. It's fun to work in Python because it allows you to think about the problem rather than focusing on syntax.
More information on Python Language:
History of Python
Python is a fairly old language created by Guido Van Rossum. The design began in the late 1980s and was first released in February 1991.
Why Python was created?
In late 1980s, Guido Van Rossum was working on the Amoeba distributed operating system group. He wanted to use an interpreted language like ABC (ABC has simple easy-to-understand syntax) that could access the Amoeba system calls. So, he decided to create a language that was extensible. This led to a design of new language which was later named Python.
Why the name Python?
No. It wasn't named after a dangerous snake. Rossum was fan of a comedy series from late seventies. The name "Python" was adopted from the same series "Monty Python's Flying Circus".
Release Dates of Different Versions
|Python 1.0 (first standard release)
Python 1.6 (Last minor version)
September 5, 2000
|Python 2.0 (Introduced list comprehensions)
Python 2.7 (Last minor version)
|October 16, 2000
July 3, 2010
|Python 3.0 (Emphasis on removing duplicative constructs and module)
Python 3.5 (Last updated version)
|December 3, 2008
September 13, 2015
Features of Python Programming
- A simple language which is easier to learn
Python has a very simple and elegant syntax. It's much easier to read and write Python programs compared to other languages like: C++, Java, C#. Python makes programming fun and allows you to focus on the solution rather than syntax.
If you are a newbie, it's a great choice to start your journey with Python.
- Free and open-source
You can freely use and distribute Python, even for commercial use. Not only can you use and distribute softwares written in it, you can even make changes to the Python's source code.
Python has a large community constantly improving it in each iteration.
You can move Python programs from one platform to another, and run it without any changes.
It runs seamlessly on almost all platforms including Windows, Mac OS X and Linux.
- Extensible and Embeddable
Suppose an application requires high performance. You can easily combine pieces of C/C++ or other languages with Python code.
This will give your application high performance as well as scripting capabilities which other languages may not provide out of the box.
- A high-level, interpreted language
Unlike C/C++, you don't have to worry about daunting tasks like memory management, garbage collection and so on.
Likewise, when you run Python code, it automatically converts your code to the language your computer understands. You don't need to worry about any lower-level operations.
- Large standard libraries to solve common tasks
Python has a number of standard libraries which makes life of a programmer much easier since you don't have to write all the code yourself. For example: Need to connect MySQL database on a Web server? You can use MySQLdb library using
Standard libraries in Python are well tested and used by hundreds of people. So you can be sure that it won't break your application.
Everything in Python is an object. Object oriented programming (OOP) helps you solve a complex problem intuitively.
With OOP, you are able to divide these complex problems into smaller sets by creating objects.
Applications of Python
You can create scalable Web Apps using frameworks and CMS (Content Management System) that are built on Python. Some of the popular platforms for creating Web Apps are: Django, Flask, Pyramid, Plone, Django CMS.
Sites like Mozilla, Reddit, Instagram and PBS are written in Python.
Scientific and Numeric Computing
There are numerous libraries available in Python for scientific and numeric computing. There are libraries like: SciPy and NumPy that are used in general purpose computing. And, there are specific libraries like: EarthPy for earth science, AstroPy for Astronomy and so on.
Also, the language is heavily used in machine learning, data mining and deep learning.
Creating software Prototypes
Python is slow compared to compiled languages like C++ and Java. It might not a good choice if resources are limited and efficiency is a must.
However, Python is a great language for creating prototypes. For example: You can use Pygame (library for creating games) to create your game's prototype first. If you like the prototype, you can use language like C++ to create the actual game.
Good Language to Teach Programming
Python is used by many companies to teach programming to kids and newbies.
It is a good language with a lot of features and capabilities. Yet, it's one of the easiest language to learn because of its simple easy-to-use syntax.