Python Basic and Advance

Python Programming Language Fundamentals

=========================================================================

 1)Introduction of Python Programming 

Python is a high level, interpreted language which has easy syntax and dynamic semantics. 

Python is much easier than other programming languages and helps you create beautiful applications with less effort and much more ease.


 2)History of  Python Language 

Python laid its foundation in the late 1980s.

The implementation of Python was started in December 1989 by Guido Van Rossum at CWI in Netherland.

In February 1991, Guido Van Rossum published the code (labeled version 0.9.0) to alt.sources.

In 1994, Python 1.0 was released with new features like lambda, map, filter, and reduce.

Python 2.0 added new features such as list comprehensions, garbage collection systems.

On December 3, 2008, Python 3.0 (also called "Py3K") was released. It was designed to rectify the fundamental flaw of the language.

ABC programming language is said to be the predecessor of Python language, which was capable of Exception Handling and interfacing with the Amoeba Operating System.

The following programming languages influence Python:

ABC language.

Modula-3


3)Why name Python?

-There is a fact behind choosing the name Python. Guido van Rossum was reading the script of a popular BBC comedy series "Monty Python's Flying Circus". It was late on-air 1970s.

-Van Rossum wanted to select a name which unique, sort, and little-bit mysterious. So he decided to select naming Python after the "Monty Python's Flying Circus" for their newly created programming language.

-The comedy series was creative and well random. It talks about everything. Thus it is slow and unpredictable, which made it very interesting.


 4)Features of Python language and its importance 

1) Easy to Learn and Use

Python is easy to learn as compared to other programming languages. Its syntax is straightforward and much the same as the English language. There is no use of the semicolon or curly-bracket, the indentation defines the code block. It is the recommended programming language for beginners.

2) Expressive Language

Python can perform complex tasks using a few lines of code. A simple example, the hello world program you simply type print("Hello World"). It will take only one line to execute, while Java or C takes multiple lines.

3) Interpreted Language

Python is an interpreted language; it means the Python program is executed one line at a time. The advantage of being interpreted language, it makes debugging easy and portable.

4) Cross-platform Language

Python can run equally on different platforms such as Windows, Linux, UNIX, and Macintosh, etc. So, we can say that Python is a portable language. It enables programmers to develop the software for several competing platforms by writing a program only once.

5) Free and Open Source

Python is freely available for everyone. It is freely available on its official website www.python.org

. It has a large community across the world that is dedicatedly working towards make new python modules and functions. Anyone can contribute to the Python community. The open-source means, "Anyone can download its source code without paying any penny."

6) Object-Oriented Language

Python supports object-oriented language and concepts of classes and objects come into existence. It supports inheritance, polymorphism, and encapsulation, etc. The object-oriented procedure helps to programmer to write reusable code and develop applications in less code.

7) Extensible

It implies that other languages such as C/C++ can be used to compile the code and thus it can be used further in our Python code. It converts the program into byte code, and any platform can use that byte code.

8) Large Standard Library

It provides a vast range of libraries for the various fields such as machine learning, web developer, and also for the scripting. There are various machine learning libraries, such as Tensor flow, Pandas, Numpy, Keras, and Pytorch, etc. Django, flask, pyramids are the popular framework for Python web development.

9) GUI Programming Support

Graphical User Interface is used for the developing Desktop application. PyQT5, Tkinter, Kivy are the libraries which are used for developing the web application.

10) Integrated

It can be easily integrated with languages like C, C++, and JAVA, etc. Python runs code line by line like C,C++ Java. It makes easy to debug the code.

11. Embeddable 

The code of the other programming language can use in the Python source code. We can use Python source code in another programming language as well. It can embed other language into our code.

12. Dynamic Memory Allocation

In Python, we don't need to specify the data-type of the variable. When we assign some value to the variable, it automatically allocates the memory to the variable at run time. Suppose we are assigned integer value 15 to x, then we don't need to write int x = 15. Just write x = 15.

 5) Versions of Python 

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

 • Toolchain of Python application 


 • First application in Python 


 • Data types in Python 

 • Variables and its types 

 • Operators and its types 

 • Bitwise operators and its working 

 • Memory allocation strategy used by Python 

 • Numbers in Python 

 • Input Output mechanisms 

 • Command line arguments 

 • Procedural programming approach in Python 

 • Function definition and function calling techniques 

 • Function arguments and its types 

 • Inner function and its calling techniques 

 • Returning multiple values from function 

 • Anonymous function and its use 

 • Default function arguments 

 • Required function argument 

 • Variable number of argument of function 

 • Keyword arguments of function 

 • Iterative approach using loops 

 • Iteration using for loop 

 • Use of break and continue keyword 

 • Iteration using while loop 

 • Recursive function approach 

 • Programs control using if, else, else if

 • Array and its types 

 • Manipulate different types of array 

 • Creation and use of multidimensional array 

• List in Python 

 • Dynamic input in List 

 • Range in python 

 • Tuples in Python 

 • String in Python 

 • Dictionaries and its use 

 • Manipulation of String 

 • File Handling 

 • File Reading Writing 

 • File creation and manipulation 


Python Programming Language Advanced 

 • Module in Python 

 • Creation of user defined Module 

 • Multiprocessing application development 

 • Multitasking using thread 

 • Thread Synchronisation techniques 

 • Single threaded vs multithread application development 

 • Parallel programming in Python using Pool class 

 • Duck Typing in Python 

 • Decorators in Python 

 • Practical use of Decorators

 • Lambda functions in python 

 • Filter Map Reduce concept in Python 

 • Exception handling 

 • Object Oriented programming in Python 

 • Concept of Encapsulation using Class 

 • Characteristics of class and its types 

 • Behaviours of class and its types 

 • Nested class and its use 

 • Use of self keyword 

 • Object creation 

 • Constructor and its types 

 • Abstraction in Python 

 • Polymorphism and its types 

 • Inheritance for reusability and its types 

 • Function Overloading technique 

 • Multiprocessing concept and its use 

 • Special variables in python

Comments