Learn Python: Basic Introduction

Welcome to the comprehensive guide for the most popular language Python where you can excel without basic programming knowledge

Learn Python: Basic Introduction
Python Programming

Inroduction to Python Programming language

What is Python?

Python is an interpreted language that employs an object-oriented approach. It's a high level programming language, which means that it seperates the user from the underlying operating system as much as possible. However, unlike other programming languages, Python provides you with the ability to access the operating system at a lower level if you desire. Because of this ability, Python, is often classified somewhere between such languages as Visual Basic or Perl and the system level C language.

Although Python is considered an interpreted language like Perl, TCL and some others, it employs a compilation stage that translates the raw-text Python script into a series of bytecodes, which are then executed by the Python Virtual Machine. The use of the bytecode  and compilation stages help to improve performance and makes Python much faster than pure interpreters  such as BASIC, but slower than the truly compiled languages such as C and Pascal.

Before going any further I should probably explain the name. The name Python is taken from the comedy group Monty Python, which is best known for the talents of Eric, John Cleese, Terry Jones, Terry Gilliam, Michael Palin and Graham Chapman.

Python is FREE

Although this is not that unique---many of the most popular programming languages are available free--it does mean that you can write and deploy Python Programs without having to purchase any software and without having to worry about licensing issues. You can even download the source code to the software if you want to take a closer look at how the Python language works.

Python is Portable

Python is supported on a huge range of operating systems. It comes in ready-compiler format for Windows and MacOs and includes the Tk version so you can develop user interfaces. On Unix and all other platforms, Python is available as source code which you compile yourself.

Python is Powerful

There is very little you cannot do with Python. The core of the language is very small, but it provides enough of the building blocks allow you to design most applications. Furthermore, because of the language can be extended using C, C++ and even Java in certain circumstances, you should be able to develop any type of program. The Python interpreter actually comes with a huge library of additional modules that extend the capabilities of the language to allow network communication, text processing (including extensive XML support in Python 2.0) and regular expression matching.

Python in Extensible

Because Python is written in C ( some extentions are written in C++) and because you may have access to source code, you can also write extensions to the language. Many of the standard modules supplied with the language are supported by a C or C++ interface. This includes basic facilities such as networking and DBM database access, along, with more advanced toolkits such as Tk. In addition Python can be embedded into C or C++ applications so you can provide a scripting interface to your applications using the Python language. Finally Jython is a complete Python interpreter written completely in Java. This mean you can write Python  program that interfaces to Java objects, or you can write a Java application that uses Python objects..

Python is Easy

Once you understand the basic principles of the Python language, learning the rest is easy. The core of the language is very small, and it's semantics and style are very simple. Since all the other components and extensions uses exactly the same syntax and structure, you should be upto speed programming in Python like an expert in no time at all.

What is python good for?

Not suprisingly, with such wide support and extensive features, Python is very effective for a large no of  tasks. Here's a quick list of the more common uses of the python language.


Mathematics
Python supports an extension called NumPy, which provides interfaces to many standard mathematics libraries. The Python language also supports unlimited precision. If you want to add two 100 digit numbers together, you can do so with Python without requiring a third-party extension. If you need the process done quickly in mathematical opertions, the NumPy extension will do the job as it is written in C and as a result it will operate faster than the native math supported by Python.

Text Processing
Python can split, seperate, summarize and report on any data. It comes with modules that seperate out the elements of a log file line. You can then use the built-in data types to record and summarize the information before writing it all out again. In addition, Python actually comes with SGML-, HTML- and XML parsing modules for reading, writing and translating the different formats. With Python's support for other text-processing engines (regular expression and the natural splitting/combining of information) and flexible variable and object handling. Python becomes a very useful tool for the text-processing programmer.

Cross platform development
You know that Python supports a wide range of platforms in a completely neutral format. If you are deploying an application across a network that uses a variety of differente platforms, you can use python to develop the application. Many companies start with a specific platform and then move to a different platform as the performance starts to suffer. Using Python, you will never need to rewrite your software as you move between platforms.

Internet Programming
Python comes with a standards set of modules that allow you to communicate over the network sockets, both at basic level and at a protocol level. If you want to read the e-mail form a POP server, for example, Python already comes with the library module that enables you to do that. In addition, Python also supports XML, HTML and CGI libraries so you can parse user input and  produce top-quality formatted output via a webserver. In fact, the combination of Python's high-level module support and RAD powers gives you an enormous, but speedy, development toolkit. Most internet modules allow you to communicate directly with an internet server using a simple object class and a no of different methods.


Database programming
There are myriad of extension modules that interface to all of the common database systems, from Oracle to Informix and free systems such as mSQL and mySQL. There is even a toolkit called Gadfly that provides a complete SQL environment within Python-no external modules or extensions are required. Because Python has strong text and data handling abilities, you can use Python to interface between databases and to act as a better summary and report tool than many of the interfaces that come with the database system themselves.


Who uses Python?
Python is used by a large no of people for solving all sorts of tasks. Most of these are not well known, or atleast publicized, purely because the companies concerned do no normally divulge this sort of information. But there are larger companies that uses Python within a commercial environment which are 1)Redhat, 2)Infoseek, 3)NASA and 4)Industrial light and Magic

History of Python

Python has a long history, In the year 2000 Python development efforts underwent a great deal of reorganization as Guido van Rossum, the designer and primary developer of Python, and the rest of Python team moved the development efforts first from CNRI (Center for National Research Initiatives) to BeOpen and ultimately to Digital Creations.

Python 1.5.2

Up until sept 2000 Python was developed and released through a public license supported by CNRI. The final release was on April 13, 1999.

Pyhton 1.6

In Sept. 2000, two versions of Python were released. The first version came from CNRI and was their last official release. Pyhton 1.6b1, the beta version of the language had been in development and testing for some time, so it was released by Guido Rossum.

Python 2.0

In Sept 5 2000 Version 2 was released with some major changes, within 24 hours of CNRI announcements, which includes update to version 1.6 including new operators, new list syntax and better module-importing methods. It also includes one of the most significant  updates to the  standard Python library for  more than a year.

Below is the complete history of the release of Python version and releases respectively:

Python Version Released Date
Python 1.0 January 1994
Python 1.5 December 31, 1997
Python 1.6 September 5, 2000
Python 2.0 October 16, 2000
Python 2.1 April 17, 2001
Python 2.2 December 21, 2001
Python 2.3 July 29, 2003
Python 2.4 November 30, 2004
Python 2.5 September 19, 2006
Python 2.6 October 1, 2008
Python 2.7 July 3, 2010
Python 3.0 December 3, 2008
Python 3.1 June 27, 2009
Python 3.2 February 20, 2011
Python 3.3 September 29, 2012
Python 3.4 March 16, 2014
Python 3.5 September 13, 2015
Python 3.6 December 23, 2016
Python 3.7 June 27, 2018
Python 3.8 October 14, 2019