Introduction to Python

Python: Do You Really Need It? This Will Help You Decide! | Download Python | Learn Python.

Picture of topictrick
topictrick
In the last few years, Python has been the choice of many students and professional programmers. Python is one of the most popular, robust and powerful programming languages. Python is one of the most search terms and in fact, learned the language.

Table of Contents

Programming language like COBOL, C, C++, Pascal or Photon concentrates more on the functional aspect of programming. In these languages there will be more focus on writing the code using functions, for example, we can imagine a C or C++ program as a combination of several functions.

Introduction to Python.

Python is a programming language that combined the future of C and JAVA.  Python offers an elegant style of developing programs like C or C++. When programmers want to go for object-oriented programming then python offer classes and objects like Java. In Python, the program to add two numbers would be as follows:

# Example 1: Simple program to add two variables. #
a = 10 # Assign value to first variable.
b = 20 # Assign value to second variable.
# Display the sum.  
print ("The Sum is =", (a + b))

The above code is simple and easy to understand and develop. In fact, code is very precise and do not need any explicit declaration of the variable.  

Hence fight and is gaining the popularity among the programming folks. However, there are many such features that would certainly make python as one of the most popular and preferred programming languages in future.

Popular Technology
Popular Technology

History of Python.

Python was developed by Guido Va Rossum in the year 1991 at the centre for Mathematics and Computer Science managed by the Dutch Government.

Van Rossum was working on a project to develop system utilities in C where he had to interacts with the Bourne shell available in UNIX. He felt the need of developing a language that would very well bridge the gap between C programming language and the shell programming.

This gap eventually leads to the development of Python Programming Language.

History of Python
History of Python

How python got its name?

You’ll be surprised to know that Van Rossum picked the name for the new programming language from the TV show Monty Python’s Flying Circus. Python first working version was released by early 1990 and it was released for the public on Feb 20, 1991. The logo of Python shows two intertwined snakes as shown in the figure below:

topictrick python logo

A python is open-source software, which means anybody can freely download it from www.python.org and use it to develop programs. Its source code can be accessed and modified as per the requirements.

Features of Python
Features of Python

Feature of Python.

There are multiple reasons due to which python is gaining tremendous popularity in the programming community. The following are a couple of important features:

  • Simple

    Python is a simple programming language. It is fairly simple to read and understand Python program as compare to Java, .Net etc.

  • Easy to Learn

    Python uses very few keywords. It’s program use of very simple structure. So, writing a program in python is easy. Thus, migration from C, C++, Java, .Net etc. to Python is easy for programmers.

  • Open Source

    Python is an open-source programming language and you can use it without any licence cost. You can download Python from www.python.org website. You can download Python source code and modify it as per your requirements.

  • High-Level Language

    Broadly programming languages are categorised into two categories. Low-level language: A low-level language use machine code instruction to develop programs. These instructions directly interact with the CPU. Machine language and assembly language are two examples of a low-level language. High-level Language: A high-level language is one which used English words to develop the program. They are easy to memorise and use. Like COBOL, PHP, .NET etc.

  • Open Source

    Python is an open-source programming language and you can use it without any licence cost. You can download Python from www.python.org website. You can download Python source code and modify it as per your requirements.

  • Dynamically Typed

    Python is a dynamically typed language, that means you’re not required to declare any variable explicitly. If a name is assigned to any object of one type, it may later be assigned to an object of a different type.

# Example - Dynamic type.
a = 10            # variable 'a' is treated as integer. 
a = 'Topictrick'  # variable 'a' is treated as string.
  • Platform Independent

    When a Python program is compiled using a Python compiler it generated byte code i.e. a fixed set of instruction that can run on all operating system and hardware by using Python Virtual Machine (PVM). Hence, Python programs are platform-independent. You can run Python code of UNIX, As/400, Windows, Solaris, AROS etc.

  • Portable

    Python is portable by nature, it means that Python code which runs on any platform would have the same output results. Thus, Python is a platform-independent and portable programming language. Its code can be executed on any platform by using Python Virtual Machine (i.e. PVM).

  • Procedure and Object-Oriented

    Python support both procedure and object-oriented programming. Thus, you can use a set of function or procedure to write your procedural program or you can use class or object to write your object-oriented program as per business requirements. In Python, programming language everything like variables, list, functions, arrays etc. are treated as objects.

  • Interpreted

    Python program when compiled with Python compiler, generates byte code, the byte code is executed via Python Virtual Machine (PVM). PVM actually translate byte code into machine instruction, so that instruction can be directly executed to produce results.

  • Extensible

    Python is an extensible programming language. You can integrate program written in any other language and execute it via PVM.

  • Embeddable

    The beauty of Python is that you can embed a Python program into any other programming language applications such as JAVA, .NET, COBOL.

  • Scripting Language

    Python is one of the best scripting languages. A scripting language is one which does not use the compiler to execute the source code. In fact, it uses an interpreter to generate on the fly.

  • Huge Library

    Python has a huge library of function, these function can be used with any operating system.

  • Database Connectivity

    Python provides an interface with to connect its program with all most all databases such as DB2, Oracle, SQL Server etc.

  • Scalable

    Python programs are scalable because they are platform-independent and can exploit all feature of the underlying operating system.

  • Batteries included

    The huge library of Python contains several small applications which are already developed and immediately are available to programmers. This small package can be used and maintained easily. Thus, programmers are not required to download any separate applications. In many cases, this will give provide them with a foundation to start the project. These libraries are called batteries or packages. A couple of popular packages are Scipy, Pandas, Cherrypy, Matplotlib, Numpy, Fiona.

How python compiler and python interpretor work
How python compiler and python interpretor work

How Python compiler and Python interpreter works?

Let’s assume that we write a python program with the name calc.py. Here, calc is the program name and the .py is the extension name. All programs written in python has an extension name .py. After completing the program next step is to compile the program using the Python compiler.

The sequence of Python program compilation.

Program Source Code –> Byte Code –> Machine Code –> Program Output.

Python compiler actually translates program code into another code which is known as byte code. Byte code represents a fixed set of instruction that represents all operations like arithmetic operations, comparison operator, operations memory-related operations, etc. which run on an operating system and hardware.

Thus, byte code is a platform independent code and each instruction size is 1 byte. The corresponding byte code for our sample calc.py program would be calc.pyc.

Now, the next step is to run the is to run a program if you directly give the bite go to the computer it cannot execute them. Computers can only execute byte code which comprises 0s and 1s since the machine can only understand binary codes.

Thus, it is necessary to convert the byte code into binary code so that the computer can understand. Hence, Python Virtual Machine (PVM) actually translate byte code into Machine code.

Python Virtual Machine uses an interpreter to understand the byte code and converts it to machine code. PVM first understands the computer operating system and processor and then convert byte code into binary code. This machine code instruction is executed by the processor to generate output.

An interpreter translator program source code line by line. Hence, it is slow. The interpreter that is found inside the PVM run the Python program slowly. In order to rectify this problem, certain version of Python a compiler is added to the PVM. This compiler also converts the byte code into machine code but faster than interpreter this compiler is called JIT (Just In Time). The advantage of JIT (i.e. Just In Time) compiler is to improve the speed of execution of the Python program and does improve the performance.

Normally, when you compile a Python program, you cannot see calc.pyc and machine code because the entire process is done internally in the memory and final output is visible.

Note: JIT compiler is not available with all Python version.

Python Virtual Machine
Python Virtual Machine

What is PVM or Python Virtual Machine?

As you know that computer can only understand binary code (i.e. 0s or 1s). It’s mandatory that all high-level program should be converted into binary code before it is actually executed by a computer. Thus, every programming language is associated with a compiler that actually converts code into the desired machine code.

A python compiler does the same task but in a slightly different way. Python compiler actually converts source code into intermediate code i.e. Byte Code. Now, these byte codes need to convert into machine code and it is Python Virtual Machine that does this job.

The primary role of Python Virtual Machine is to convert Byte Code instruction into machine code so that it can be executed via computers. PVM is equipped with the interpreter, it actually translates byte code into machine code and sends machine code to process for execution. Python Virtual Machine is also known as an interpreter because playing the crucial role of converting and executing instructions.

Comparisons between C and Python?

CPython
C is a procedure-oriented programming language. It does not contain features such as class, objects etc.Python is an object-oriented language. It contains feature like classes, objects, inheritance etc.
C program executes fasterPython program execution is slower as compared to C. However, PyPy Python programs run a bit faster but still slower than C.
It is compulsory to declare the datatype of variables, arrays, etc.Type declaration is not mandatory in Python.
Pointer concept is available is C.Python does not use pointers.
C does not have exception handling facility and hence c program are weakPython handles the exception and hence python program are robust
The programmer should allocate and deallocate memory using malloc(), calloc(), realloc(), or free() functionsMemory allocation and deallocation is automatically handled by Python Virtual Machine.

Comparisons between Java and Python?

JavaPython
Java is object-oriented programming language. Python blends the functional programming with object-oriented programming feature.
Java programs are verbose i.e. they contain more number of lines.Python program are concise and compact. A program can be written with very less numbers of lines.
It is compulsory to declare the datatypes of variables in Java.You are not require to declare variables in Python.
Java language type discipline is static and weak.Python language type discipline is dynamic and strong.
Java support single and multi-dimensional arrays.Python supports only single dimensional array. But you can use multi-dimensional array by using third party application such as Numpy etc.
Memory allocation and deal location is automatically done by JVM.Memory allocation and deal location is done automatically by PVM.

Conclusion.

Finally, python, as a programming language is becoming popular day by day and big companies, are now considering python for developing various tools and applications. Eventually, python would be a tough competitor for JAVA, .NET, C, COBOL etc. Although it has already acquired a big market and buzz is already created in IT industry.

Last but not the least, if you like our article then, please leave your feedback and share it with your friends. We would be publishing more such interesting Python tutorial.