Nothing Special   »   [go: up one dir, main page]

Python

Download as pdf or txt
Download as pdf or txt
You are on page 1of 42

Python Programming Language

Introduction of Python:

Python is a general purpose, dynamic, high-level, and interpreted programming language.


It was created by Guido van Rossum is known as the founder of Python programming, and released in 1991.
It supports Object Oriented programming approach to develop applications. It is simple and easy to learn and
provides lots of high-level data structures - Lists, Tuples, Dictionary, Set…etc.
Python is easy to learn yet powerful and versatile scripting language, which makes it attractive for Application
Development.
Python's syntax and dynamic typing with its interpreted nature make it an ideal language for scripting and rapid
application development.
Python supports multiple programming pattern, including object-oriented, imperative, and functional or
procedural programming styles.
Python is not intended to work in a particular area, such as web programming. That is why it is known
as multipurpose programming language because it can be used in

Enterprise, 3D CAD,
web development (server-side),
software development,
mathematics,
system scripting etc.

We don't need to use data types to declare variable because it is dynamically typed so we can write a=10 to
assign an integer value in an integer variable.
Python makes the development and debugging fast because there is no compilation step included in Python
development, and edit-test-debug cycle is very fast.

What can Python do?

 Python can be used on a server to create web applications.


 Python can be used alongside software to create workflows.
 Python can connect to database systems. It can also read and modify files.
 Python can be used to handle big data and perform complex mathematics.
 Python can be used for rapid prototyping, or for production-ready software development.

Java vs Python Program:


Unlike the other programming languages, Python provides the facility to execute the code using few lines.
For example - Suppose we want to print the "Hello World" program in Java; it will take three lines to print it.
1. public class HelloWorld {
2. public static void main(String[] args){
3. // Prints "Hello, World" to the terminal window.
4. System.out.println("Hello World"); } }

In Python Program: On the other hand, we can do this using one statement in Python.
Ex- print("Hello World")
Both programs will print the same result, but it takes only one statement without using a semicolon or curly
braces in Python.

Python Basic Syntax:


There is no use of curly braces or semicolon in Python programming language. It is English-like language. But
Python uses the indentation to define a block of code. Indentation is nothing but adding whitespace before the
statement when it is needed.
For example –

1. def func():
2. statement 1
3. statement 2
4. …………………
5. …………………
6. statement N

In the above example, the statements that are same level to right belong to the function. Generally, we can use
four whitespaces to define indentation.

Python History and Versions:


 Python 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:
1. ABC language.
2. Modula-3

Why the 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.
Python is also versatile and widely used in every technical field, such as Machine Learning, Artificial
Intelligence, Web Development, Mobile Application, Desktop Application, Scientific Calculation, etc.

Python Version List:


Python programming language is being updated regularly with new features and supports. There are lots of update
in Python versions, started from 1994 to current release.

A list of Python versions with its released date is given below.

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

Why learn Python?


 Python works on different platforms (Windows, Mac, Linux, Raspberry Pi, etc).
 Python has a simple syntax similar to the English language.
 Python has syntax that allows developers to write programs with fewer lines than some other
programming languages.
 Python runs on an interpreter system, meaning that code can be executed as soon as it is written. This
means that prototyping can be very quick.
 Python can be treated in a procedural way, an object-oriented way or a functional way.

Python provides many useful features to the programmer. These features make it most popular and widely used
language. We have listed below few-essential feature of Python.

Python Features:
Python provides many useful features which make it popular and valuable from the other programming languages.
It supports object-oriented programming, procedural programming approaches and provides dynamic memory
allocation. We have listed below a few essential features.

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.

Python Applications:
Python is known for its general-purpose nature that makes it applicable in almost every domain of software
development. Python makes its presence in every emerging field. It is the fastest-growing programming language
and can develop any application.

Here, we are specifying application areas where Python can be applied.

1) Web Applications

We can use Python to develop web applications. It provides libraries to handle internet protocols such as HTML
and XML, JSON, Email processing, request, beautifulSoup, Feedparser, etc. One of Python web-framework
named Django is used on Instagram. Python provides many useful frameworks, and these are given below:

 Django and Pyramid framework(Use for heavy applications)


 Flask and Bottle (Micro-framework)
 Plone and Django CMS (Advance Content management)
2) Desktop GUI Applications

The GUI stands for the Graphical User Interface, which provides a smooth interaction to any application. Python
provides a Tk GUI library to develop a user interface. Some popular GUI libraries are given below.

 Tkinter or Tk
 wxWidgetM
 Kivy (used for writing multitouch applications )
 PyQt or Pyside

3) Console-based Application

Console-based applications run from the command-line or shell. These applications are computer program which
are used commands to execute. This kind of application was more popular in the old generation of computers.
Python can develop this kind of application very effectively. It is famous for having REPL, which means the
Read-Eval-Print Loop that makes it the most suitable language for the command-line applications.

Python provides many free library or module which helps to build the command-line apps. The
necessary IO libraries are used to read and write. It helps to parse argument and create console help text out-of-
the-box. There are also advance libraries that can develop independent console apps.

4) Software Development

Python is useful for the software development process. It works as a support language and can be used to build
control and management, testing, etc.

o SCons is used to build control.


o Buildbot and Apache Gumps are used for automated continuous compilation and testing.
o Round or Trac for bug tracking and project management.

5) Scientific and Numeric

This is the era of Artificial intelligence where the machine can perform the task the same as the human. Python
language is the most suitable language for Artificial intelligence or machine learning. It consists of many scientific
and mathematical libraries, which makes easy to solve complex calculations.

Implementing machine learning algorithms require complex mathematical calculation. Python has many libraries
for scientific and numeric such as Numpy, Pandas, Scipy, Scikit-learn, etc. If you have some basic knowledge of
Python, you need to import libraries on the top of the code. Few popular frameworks of machine libraries are
given below.

 SciPy
 Scikit-learn
 NumPy
 Pandas
 Matplotlib
6) Business Applications

Business Applications differ from standard applications. E-commerce and ERP are an example of a business
application. This kind of application requires extensively, scalability and readability, and Python provides all
these features.

Oddo is an example of the all-in-one Python-based application which offers a range of business applications.
Python provides a Tryton platform which is used to develop the business application.
7) Audio or Video-based Applications

Python is flexible to perform multiple tasks and can be used to create multimedia applications. Some multimedia
applications which are made by using Python are TimPlayer, cplay, etc. The few multimedia libraries are given
below.

 Gstreamer
 Pyglet
 QT Phonon
8) 3D CAD Applications

The CAD (Computer-aided design) is used to design engineering related architecture. It is used to develop the 3D
representation of a part of a system. Python can create a 3D CAD application by using the following
functionalities.

 Fandango (Popular )
 CAMVOX
 HeeksCNC
 AnyCAD
 RCAM
9) Enterprise Applications

Python can be used to create applications that can be used within an Enterprise or an Organization. Some real-
time applications are OpenERP, Tryton, Picalo, etc.

10) Image Processing Application

Python contains many libraries that are used to work with the image. The image can be manipulated according to
our requirements. Some libraries of image processing are given below.

 OpenCV
 Pillow
 SimpleITK

In this topic, we have described all types of applications where Python plays an essential role in the development
of these applications. In the next tutorial, we will learn more concepts about Python.

Where is Python used?

Python is a general-purpose, popular programming language and it is used in almost every technical field. The
various areas of Python use are given below.

o Data Science
o Date Mining
o Desktop Applications
o Console-based Applications
o Mobile Applications
o Software Development
o Artificial Intelligence
o Web Applications
o Enterprise Applications
o 3D CAD Applications
o Machine Learning
o Computer Vision or Image Processing Applications.
o Speech Recognitions

Python Popular Frameworks and Libraries:


Python has wide range of libraries and frameworks widely used in various fields such as machine learning,
artificial intelligence, web applications, etc. We define some popular frameworks and libraries of Python as
follows.

o Web development (Server-side) - Django Flask, Pyramid, CherryPy


o GUIs based applications - Tk, PyGTK, PyQt, PyJs, etc.
o Machine Learning - TensorFlow, PyTorch, Scikit-learn, Matplotlib, Scipy, etc.
o Mathematics - Numpy, Pandas, etc.

Python print() Function:


The print() function displays the given object to the standard output device (screen) or to the text stream file.
Unlike the other programming languages, Python print() function is most unique and versatile function.
The syntax of print() function is given below.

1. print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)

Let's explain its parameters one by one.

 objects - An object is nothing but a statement that to be printed. The * sign represents that there can be multiple
statements.
 sep - The sep parameter separates the print values. Default values is ' '.
 end - The end is printed at last in the statement.
 file - It must be an object with a write(string) method.
 flush - The stream or file is forcibly flushed if it is true. By default, its value is false.

Let's understand the following example.

Example - 1: Return a value


print("Welcome to javaTpoint.")
a = 10
# Two objects are passed in print() function
print("a =", a)

b=a
# Three objects are passed in print function
print('a =', a, '= b')

Output:

Welcome to javaTpoint.
a = 10
a = 10 = b

As we can see in the above output, the multiple objects can be printed in the single print() statement. We just
need to use comma (,) to separate with each other.

Example - 2: Using sep and end argument


a = 10
print("a =", a, sep='dddd', end='\n\n\n')
print("a =", a, sep='0', end='$$$$$')

Output:

a =dddd10

a =010$$$$$

In the first print() statement, we use the sep and end arguments. The given object is printed just after
the sep values. The value of end parameter printed at the last of given object. As we can see that, the
second print() function printed the result after the three black lines.

Taking Input to the User:


Python provides the input() function which is used to take input from the user.
Let's understand the following example.

name = input("Enter a name of student:")


print("The student name is: ", name)

Output:

Enter a name of student: Devansh


The student name is: Devansh

By default, the input() function takes the string input but what if we want to take other data types as an input.

If we want to take input as an integer number, we need to typecast the input() function into an integer.

For example -

1. a = int(input("Enter first number: "))


2. b = int(input("Enter second number: "))
3. print(a+b)

Output:

Enter first number: 50


Enter second number: 100
150

We can take any type of values using input() function.

Python Variables
Variable is a name that is used to refer to memory location. Python variable is also known as an identifier
and used to hold value.

In Python, we don't need to specify the type of variable because Python is a infer language and smart
enough to get variable type.

Variable names can be a group of both the letters and digits, but they have to begin with a letter or an
underscore.

It is recommended to use lowercase letters for the variable name. Rahul and rahul both are two different
variables.

Identifier Naming
Variables are the example of identifiers. An Identifier is used to identify the literals used in the program.
The rules to name an identifier are given below.

o The first character of the variable must be an alphabet or underscore ( _ ).


o All the characters except the first character may be an alphabet of lower-case(a-z), upper-case (A-Z),
underscore, or digit (0-9).
o Identifier name must not contain any white-space, or special character (!, @, #, %, ^, &, *).
o Identifier name must not be similar to any keyword defined in the language.
o Identifier names are case sensitive; for example, my name, and MyName is not the same.
o Examples of valid identifiers: a123, _n, n_9, etc.
o Examples of invalid identifiers: 1a, n%4, n 9, etc.

Declaring Variable and Assigning Values


Python does not bind us to declare a variable before using it in the application. It allows us to create a
variable at the required time.
We don't need to declare explicitly variable in Python. When we assign any value to the variable, that
variable is declared automatically.

The equal (=) operator is used to assign value to a variable.

Object References
It is necessary to understand how the Python interpreter works when we declare a variable. The process
of treating variables is somewhat different from many other programming languages.

Python is the highly object-oriented programming language; that's why every data item belongs to a
specific type of class. Consider the following example.

1. print("John")

Output:

John

The Python object creates an integer object and displays it to the console. In the above print statement,
we have created a string object. Let's check the type of it using the Python built-in type() function.

1. type("John")

Output:

<class 'str'>

In Python, variables are a symbolic name that is a reference or pointer to an object. The variables are
used to denote objects by that name.

Let's understand the following example

1. a = 50

In the above image, the variable a refers to an integer object.

Suppose we assign the integer value 50 to a new variable b.

a = 50
b=a

The variable b refers to the same object that a points to because Python does not create another object.

Let's assign the new value to b. Now both variables will refer to the different objects.

a = 50

b =100

Python manages memory efficiently if we assign the same variable to two different values.

Object Identity
In Python, every created object identifies uniquely in Python. Python provides the guaranteed that no
two objects will have the same identifier. The built-in id() function, is used to identify the object
identifier. Consider the following example.

1. a = 50
2. b = a
3. print(id(a))
4. print(id(b))
5. # Reassigned variable a
6. a = 500
7. print(id(a))
Output:

140734982691168
140734982691168
2822056960944

We assigned the b = a, a and b both point to the same object. When we checked by the id() function
it returned the same number. We reassign a to 500; then it referred to the new object identifier.

Variable Names
We have already discussed how to declare the valid variable. Variable names can be any length can
have uppercase, lowercase (A to Z, a to z), the digit (0-9), and underscore character(_). Consider the
following example of valid variables names.

1. name = "Devansh"
2. age = 20
3. marks = 80.50
4.
5. print(name)
6. print(age)
7. print(marks)

Output:

Devansh
20
80.5

Consider the following valid variables name.

1. name = "A"
2. Name = "B"
3. naMe = "C"
4. NAME = "D"
5. n_a_m_e = "E"
6. _name = "F"
7. name_ = "G"
8. _name_ = "H"
9. na56me = "I"
10.
11. print(name,Name,naMe,NAME,n_a_m_e, NAME, n_a_m_e, _name, name_,_name, na56me)

Output:
A B C D E D E F G F I

In the above example, we have declared a few valid variable names such as name, _name_ , etc. But it is
not recommended because when we try to read code, it may create confusion. The variable name
should be descriptive to make code more readable.

The multi-word keywords can be created by the following method.

o Camel Case - In the camel case, each word or abbreviation in the middle of begins with a capital letter.
There is no intervention of whitespace. For example - nameOfStudent, valueOfVaraible, etc.
o Pascal Case - It is the same as the Camel Case, but here the first word is also capital. For example -
NameOfStudent, etc.
o Snake Case - In the snake case, Words are separated by the underscore. For example - name_of_student,
etc.

Multiple Assignment
Python allows us to assign a value to multiple variables in a single statement, which is also known as
multiple assignments.

We can apply multiple assignments in two ways, either by assigning a single value to multiple variables
or assigning multiple values to multiple variables. Consider the following example.

1. Assigning single value to multiple variables

Eg:

1. x=y=z=50
2. print(x)
3. print(y)
4. print(z)

Output:

50
50
50

2. Assigning multiple values to multiple variables:

Eg:

1. a,b,c=5,10,15
2. print a
3. print b
4. print c

Output:

5
10
15

The values will be assigned in the order in which variables appear.

Python Variable Types


There are two types of variables in Python - Local variable and Global variable. Let's understand the
following variables.

Local Variable
Local variables are the variables that declared inside the function and have scope within the function.
Let's understand the following example.

Example -

1. # Declaring a function
2. def add():
3. # Defining local variables. They has scope only within a function
4. a = 20
5. b = 30
6. c=a+b
7. print("The sum is:", c)
8.
9. # Calling a function
10. add()

Output:

The sum is: 50

Explanation:

In the above code, we declared a function named add() and assigned a few variables within the function.
These variables will be referred to as the local variables which have scope only inside the function. If
we try to use them outside the function, we get a following error.

1. add()
2. # Accessing local variable outside the function
3. print(a)

Output:

The sum is: 50


print(a)
NameError: name 'a' is not defined

We tried to use local variable outside their scope; it threw the NameError.

Global Variables
Global variables can be used throughout the program, and its scope is in the entire program. We can
use global variables inside or outside the function.

A variable declared outside the function is the global variable by default. Python provides
the global keyword to use global variable inside the function. If we don't use the global keyword, the
function treats it as a local variable. Let's understand the following example.

Example -

1. # Declare a variable and initialize it


2. x = 101
3.
4. # Global variable in function
5. def mainFunction():
6. # printing a global variable
7. global x
8. print(x)
9. # modifying a global variable
10. x = 'Welcome To Javatpoint'
11. print(x)
12.
13. mainFunction()
14. print(x)

Output:

101
Welcome To Javatpoint
Welcome To Javatpoint

Explanation:
In the above code, we declare a global variable x and assign a value to it. Next, we defined a function
and accessed the declared variable using the global keyword inside the function. Now we can modify
its value. Then, we assigned a new string value to the variable x.

Now, we called the function and proceeded to print x. It printed the as newly assigned value of x.

Delete a variable
We can delete the variable using the del keyword. The syntax is given below.

Syntax -

1. del <variable_name>

In the following example, we create a variable x and assign value to it. We deleted variable x, and print
it, we get the error "variable x is not defined". The variable x will no longer use in future.

Example -

1. # Assigning a value to x
2. x = 6
3. print(x)
4. # deleting a variable.
5. del x
6. print(x)

Output:

6
Traceback (most recent call last):
File "C:/Users/DEVANSH SHARMA/PycharmProjects/Hello/multiprocessing.py", line 389, in
print(x)
NameError: name 'x' is not defined

Maximum Possible Value of an Integer in Python


Unlike the other programming languages, Python doesn't have long int or float data types. It treats all
integer values as an int data type. Here, the question arises. What is the maximum possible value can
hold by the variable in Python? Consider the following example.

Example -

1. # A Python program to display that we can store


2. # large numbers in Python
3.
4. a = 10000000000000000000000000000000000000000000
5. a = a + 1
6. print(type(a))
7. print (a)

Output:

<class 'int'>
10000000000000000000000000000000000000000001

As we can see in the above example, we assigned a large integer value to variable x and checked its
type. It printed class <int> not long int. Hence, there is no limitation number by bits and we can expand
to the limit of our memory.

Python doesn't have any special data type to store larger numbers.

Print Single and Multiple Variables in Python


We can print multiple variables within the single print statement. Below are the example of single and
multiple printing values.

Example - 1 (Printing Single Variable)

1. # printing single value


2. a = 5
3. print(a)
4. print((a))

Output:

5
5

Example - 2 (Printing Multiple Variables)

1. a = 5
2. b = 6
3. # printing multiple variables
4. print(a,b)
5. # separate the variables by the comma
6. Print(1, 2, 3, 4, 5, 6, 7, 8)

Output:

5 6
1 2 3 4 5 6 7 8

Basic Fundamentals:
This section contains the fundamentals of Python, such as:

i)Tokens and their types.

ii) Comments

a)Tokens:

o The tokens can be defined as a punctuator mark, reserved words, and each word in a statement.
o The token is the smallest unit inside the given program.

There are following tokens in Python:

o Keywords.
o Identifiers.
o Literals.
o Operators.

We will discuss above the tokens in detail next tutorials.

Python Data Types


Variables can hold values, and every value has a data-type. Python is a dynamically typed language;
hence we do not need to define the type of the variable while declaring it. The interpreter implicitly
binds the value with its type.

1. a = 5

The variable a holds integer value five and we did not define its type. Python interpreter will
automatically interpret variables a as an integer type.

Python enables us to check the type of the variable used in the program. Python provides us
the type() function, which returns the type of the variable passed.

Consider the following example to define the values of different data types and checking its type.

o
o

1. a=10
2. b="Hi Python"
3. c = 10.5
4. print(type(a))
5. print(type(b))
6. print(type(c))

Output:

<type 'int'>
<type 'str'>
<type 'float'>

Standard data types


A variable can hold different types of values. For example, a person's name must be stored as a string
whereas its id must be stored as an integer.

Python provides various standard data types that define the storage method on each of them. The data
types defined in Python are given below.

1. Numbers
2. Sequence Type
3. Boolean
4. Set
5. Dictionary
In this section of the tutorial, we will give a brief introduction of the above data-types. We will discuss
each one of them in detail later in this tutorial.

Numbers
Number stores numeric values. The integer, float, and complex values belong to a Python Numbers
data-type. Python provides the type() function to know the data-type of the variable. Similarly,
the isinstance() function is used to check an object belongs to a particular class.

Python creates Number objects when a number is assigned to a variable. For example;

1. a = 5
2. print("The type of a", type(a))
3.
4. b = 40.5
5. print("The type of b", type(b))
6.
7. c = 1+3j
8. print("The type of c", type(c))
9. print(" c is a complex number", isinstance(1+3j,complex))

Output:

The type of a <class 'int'>


The type of b <class 'float'>
The type of c <class 'complex'>
c is complex number: True

Python supports three types of numeric data.

1. Int - Integer value can be any length such as integers 10, 2, 29, -20, -150 etc. Python has no restriction
on the length of an integer. Its value belongs to int
2. Float - Float is used to store floating-point numbers like 1.9, 9.902, 15.2, etc. It is accurate upto 15 decimal
points.
3. complex - A complex number contains an ordered pair, i.e., x + iy where x and y denote the real and
imaginary parts, respectively. The complex numbers like 2.14j, 2.0 + 2.3j, etc.

Sequence Type
String

The string can be defined as the sequence of characters represented in the quotation marks. In Python,
we can use single, double, or triple quotes to define a string.

String handling in Python is a straightforward task since Python provides built-in functions and
operators to perform operations in the string.

In the case of string handling, the operator + is used to concatenate two strings as the
operation "hello"+" python" returns "hello python".

The operator * is known as a repetition operator as the operation "Python" *2 returns 'Python Python'.

The following example illustrates the string in Python.

Example - 1

1. str = "string using double quotes"


2. print(str)
3. s = '''''A multiline
4. string'''
5. print(s)

Output:

string using double quotes


A multiline
string

Consider the following example of string handling.

Example - 2
1. str1 = 'hello javatpoint' #string str1
2. str2 = ' how are you' #string str2
3. print (str1[0:2]) #printing first two character using slice operator
4. print (str1[4]) #printing 4th character of the string
5. print (str1*2) #printing the string twice
6. print (str1 + str2) #printing the concatenation of str1 and str2

Output:

he
o
hello javatpointhello javatpoint
hello javatpoint how are you
List

Python Lists are similar to arrays in C. However, the list can contain data of different types. The items
stored in the list are separated with a comma (,) and enclosed within square brackets [].

We can use slice [:] operators to access the data of the list. The concatenation operator (+) and
repetition operator (*) works with the list in the same way as they were working with the strings.

Consider the following example.

1. list1 = [1, "hi", "Python", 2]


2. #Checking type of given list
3. print(type(list1))
4.
5. #Printing the list1
6. print (list1)
7.
8. # List slicing
9. print (list1[3:])
10.
11. # List slicing
12. print (list1[0:2])
13.
14. # List Concatenation using + operator
15. print (list1 + list1)
16.
17. # List repetation using * operator
18. print (list1 * 3)
Output:

[1, 'hi', 'Python', 2]


[2]
[1, 'hi']
[1, 'hi', 'Python', 2, 1, 'hi', 'Python', 2]
[1, 'hi', 'Python', 2, 1, 'hi', 'Python', 2, 1, 'hi', 'Python', 2]
Tuple
A tuple is similar to the list in many ways. Like lists, tuples also contain the collection of the items of
different data types. The items of the tuple are separated with a comma (,) and enclosed in parentheses
().

A tuple is a read-only data structure as we can't modify the size and value of the items of a tuple.

Let's see a simple example of the tuple.

1. tup = ("hi", "Python", 2)


2. # Checking type of tup
3. print (type(tup))
4.
5. #Printing the tuple
6. print (tup)
7.
8. # Tuple slicing
9. print (tup[1:])
10. print (tup[0:1])
11.
12. # Tuple concatenation using + operator
13. print (tup + tup)
14.
15. # Tuple repatation using * operator
16. print (tup * 3)
17.
18. # Adding value to tup. It will throw an error.
19. t[2] = "hi"

Output:

<class 'tuple'>
('hi', 'Python', 2)
('Python', 2)
('hi',)
('hi', 'Python', 2, 'hi', 'Python', 2)
('hi', 'Python', 2, 'hi', 'Python', 2, 'hi', 'Python', 2)
Traceback (most recent call last):
File "main.py", line 14, in <module>
t[2] = "hi";
TypeError: 'tuple' object does not support item assignment
Dictionary
Dictionary is an unordered set of a key-value pair of items. It is like an associative array or a hash table
where each key stores a specific value. Key can hold any primitive data type, whereas value is an arbitrary
Python object.

The items in the dictionary are separated with the comma (,) and enclosed in the curly braces {}.

Consider the following example.

1. d = {1:'Jimmy', 2:'Alex', 3:'john', 4:'mike'}


2.
3. # Printing dictionary
4. print (d)
5.
6. # Accesing value using keys
7. print("1st name is "+d[1])
8. print("2nd name is "+ d[4])
9.
10. print (d.keys())
11. print (d.values())

Output:

1st name is Jimmy


2nd name is mike
{1: 'Jimmy', 2: 'Alex', 3: 'john', 4: 'mike'}
dict_keys([1, 2, 3, 4])
dict_values(['Jimmy', 'Alex', 'john', 'mike'])
Boolean
Boolean type provides two built-in values, True and False. These values are used to determine the given
statement true or false. It denotes by the class bool. True can be represented by any non-zero value or
'T' whereas false can be represented by the 0 or 'F'. Consider the following example.

1. # Python program to check the boolean type


2. print(type(True))
3. print(type(False))
4. print(false)
Output:

<class 'bool'>
<class 'bool'>
NameError: name 'false' is not defined
Set
Python Set is the unordered collection of the data type. It is iterable, mutable(can modify after creation),
and has unique elements. In set, the order of the elements is undefined; it may return the changed
sequence of the element. The set is created by using a built-in function set(), or a sequence of elements
is passed in the curly braces and separated by the comma. It can contain various types of values.
Consider the following example.

1. # Creating Empty set


2. set1 = set()
3.
4. set2 = {'James', 2, 3,'Python'}
5.
6. #Printing Set value
7. print(set2)
8.
9. # Adding element to the set
10.
11. set2.add(10)
12. print(set2)
13.
14. #Removing element from the set
15. set2.remove(2)
16. print(set2)

Output:

{3, 'Python', 'James', 2}


{'Python', 'James', 3, 2, 10}
{'Python', 'James', 3, 10}

Python Keywords
Every scripting language has designated words or keywords, with particular definitions and usage
guidelines. Python is no exception. The fundamental constituent elements of any Python program are
Python keywords.

This tutorial will give you a basic overview of all Python keywords and a detailed discussion of some
important keywords that are frequently used.
Introducing Python Keywords
Python keywords are unique words reserved with defined meanings and functions that we can only
apply for those functions. You'll never need to import any keyword into your program because they're
permanently present.

Python's built-in methods and classes are not the same as the keywords. Built-in methods and classes
are constantly present; however, they are not as limited in their application as keywords.

Assigning a particular meaning to Python keywords means you can't use them for other purposes in
our code. You'll get a message of SyntaxError if you attempt to do the same. If you attempt to assign
anything to a built-in method or type, you will not receive a SyntaxError message; however, it is still not
a smart idea.

Python contains thirty-five keywords in the most recent version, i.e., Python 3.8. Here we have shown a
complete list of Python keywords for the reader's reference.

False await else import pass

None break except in raise

True class finally is return

and continue for lambda try

as def from nonlocal while

assert del global not with

async elif if or yield


In distinct versions of Python, the preceding keywords might be changed. Some extras may be
introduced, while others may be deleted. By writing the following statement into the coding window,
you can anytime retrieve the collection of keywords in the version you are working on.

Code

1. # Python program to demonstrate the application of iskeyword()


2. # importing keyword library which has lists
3. import keyword
4.
5. # displaying the complete list using "kwlist()."
6. print("The set of keywords in this version is: ")
7. print( keyword.kwlist )

Output:

The set of keywords in this version is :


['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class',
'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global',
'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return',
'try', 'while', 'with', 'yield']

By calling help(), you can retrieve a list of currently offered keywords:

Code

1. help("keywords")

How to Identify Python Keywords


Python's keyword collection has evolved as new versions were introduced. The await and async
keywords, for instance, were not introduced till Python 3.7. Also, in Python 2.7, the words print and exec
constituted keywords; however, in Python 3+, they were changed into built-in methods and are no
longer part of the set of keywords. In the paragraphs below, you'll discover numerous methods for
determining whether a particular word in Python is a keyword or not.

Write Code on a Syntax Highlighting IDE


There are plenty of excellent Python IDEs available. They'll all highlight keywords to set them apart from
the rest of the terms in the code. This facility will assist you in immediately identifying Python keywords
during coding so that you do not misuse them.

Verify Keywords with Script in a REPL


There are several ways to detect acceptable Python keywords plus know further regarding them in the
Python REPL.
Look for a SyntaxError
Lastly, if you receive a SyntaxError when attempting to allocate to it, name a method with it, or do
anything else with that, and it isn't permitted, it's probably a keyword. This one is somewhat more
difficult to see, but it is still a technique for Python to tell you if you're misusing a keyword.

Python Keywords and Their Usage


The following sections categorize Python keywords under the headings based on their frequency of
use. The first category, for instance, includes all keywords utilized as values, whereas the next group
includes keywords employed as operators. These classifications will aid in understanding how keywords
are employed and will assist you in arranging the huge collection of Python keywords.

o A few terms mentioned in the segment following may be unfamiliar to you. They're explained here, and
you must understand what they mean before moving on:
o The Boolean assessment of a variable is referred to as truthfulness. A value's truthfulness reveals if the
value of the variable is true or false.

In the Boolean paradigm, truth refers to any variable that evaluates to true. Pass an item as an input to
bool() to see if it is true. If True is returned, the value of the item is true. Strings and lists which are not
empty, non-zero numbers, and many other objects are illustrations of true values.

False refers to any item in a Boolean expression that returns false. Pass an item as an input to bool() to
see if it is false. If False is returned, the value of the item is false. Examples of false values are " ", 0, { },
and [ ].

Value Keywords: True, False, None


Three Python keywords are employed as values in this example. These are singular values, which we can
reuse indefinitely and every time correspond to the same entity. These values will most probably be
seen and used frequently.

The Keywords True and False

These keywords are typed in lowercase in conventional computer languages (true and false); however,
they are typed in uppercase in Python every time. In Python script, the True Python keyword represents
the Boolean true state. False is a keyword equivalent to True, except it has the negative Boolean state
of false.

True and False are those keywords that can be allocated to variables or parameters and are compared
directly.

Code
1. print( 4 == 4 )
2. print( 6 > 9 )
3. print( True or False )
4. print( 9 <= 28 )
5. print( 6 > 9 )
6. print( True and False )

Output:

True
False
True
True
False
False

Because the first, third, and fourth statements are true, the interpreter gives True for those and False
for other statements. True and False are the equivalent in Python as 1 & 0. We can use the
accompanying illustration to support this claim:

Code

1. print( True == 3 )
2. print( False == 0 )
3. print( True + True + True)

Output:

False
True
3

The None Keyword

None is a Python keyword that means "nothing." None is known as nil, null, or undefined in different
computer languages.

If a function does not have a return clause, it will give None as the default output:

Code

1. print( None == 0 )
2. print( None == " " )
3. print( None == False )
4. A = None
5. B = None
6. print( A == B )

Output:

False
False
False
True

If a no_return_function returns nothing, it will simply return a None value. None is delivered by functions
that do not meet a return expression in the program flow. Consider the following scenario:

Code

1. def no_return_function():
2. num1 = 10
3. num2 = 20
4. addition = num1 + num2
5.
6. number = no_return_function()
7. print( number )

Output:

None

This program has a function with_return that performs multiple operations and contains a return
expression. As a result, if we display a number, we get None, which is given by default when there is no
return statement. Here's an example showing this:

Code

1. def with_return( num ):


2. if num % 4 == 0:
3. return False
4.
5. number = with_return( 67 )
6. print( number )

Output:

None
Operator Keywords: and, or, not, in, is
Several Python keywords are employed as operators to perform mathematical operations. In many
other computer languages, these operators are represented by characters such as &, |, and!. All of these
are keyword operations in Python:

Mathematical Operations Operations in Other Languages Python Keyword

AND, ∧ && and

OR, ∨ || or

NOT, ¬ ! not

CONTAINS, ∈ in

IDENTITY === is

Writers created Python programming with clarity in mind. As a result, many operators in other computer
languages that employ characters in Python are English words called keywords.

The and Keyword

The Python keyword and determines whether both the left-hand side and right-hand side operands
and are true or false. The outcome will be True if both components are true. If one is false, the outcome
will also be False:

Truth table for and

X Y X and Y

True True True

False True False

True False False

False False False


1. <component1> and <component2>

It's worth noting that the outcomes of an and statement aren't always True or False. Due to and's
peculiar behavior, this is the case. Instead of processing the inputs to corresponding Boolean values, it
just gives <component1> if it is false or <component2> if it is true. The outputs of a and expression
could be utilized with a conditional if clause or provided to bool() to acquire an obvious True or False
answer.

The or Keyword

The or keyword in Python is utilized to check if, at minimum, 1 of the inputs is true. If the first argument
is true, the or operation yields it; otherwise, the second argument is returned:

1. <component1> or <component2>

Similarly to the and keyword, the or keyword does not change its inputs to corresponding Boolean
values. Instead, the outcomes are determined based on whether they are true or false.

Truth table for or

X Y X or Y

True True True

True False True

False True True

False False False

The not Keyword

The not keyword in Python is utilized to acquire a variable's contrary Boolean value:

The not keyword is employed to switch the Boolean interpretation or outcome in conditional sentences
or other Boolean equations. Not, unlike and, and or, determines the specific Boolean state, True or False,
afterward returns the inverse.

Truth Table for not


X not X

True False

False True

Code

1. False and True


2. False or True
3. not True

Output:

False
True
False

The in Keyword

The in keyword of Python is a robust confinement checker, also known as a membership operator. If
you provide it an element to seek and a container or series to seek into, it will give True or False,
depending on if that given element was located in the given container:

1. <an_element> in <a_container>

Testing for a certain character in a string is a nice illustration of how to use the in keyword:

Code

1. container = "Javatpoint"
2. print( "p" in container )
3. print( "P" in container )

Output:

True
False

Lists, dictionaries, tuples, strings, or any data type with the method __contains__(), or we can iterate over
it will work with the in keyword.

The is Keyword
In Python, it's used to check the identification of objects. The == operation is used to determine whether
two arguments are identical. It also determines whether two arguments relate to the unique object.

When the objects are the same, it gives True; otherwise, it gives False.

Code

1. print( True is True )


2. print( False is True )
3. print( None is not None )
4. print( (9 + 5) is (7 * 2) )

Output:

True
False
False
True

True, False, and None are all the same in Python since there is just one version.

Code

1. print( [] == [] )
2. print( [] is [] )
3. print( {} == {} )
4. print( {} is {} )

Output:

True
False
True
False

A blank dictionary or list is the same as another blank one. However, they aren't identical entities
because they are stored independently in memory. This is because both the list and the dictionary are
changeable.

Code

1. print( '' == '' )


2. print( '' is '' )

Output:

True
True
Strings and tuples, unlike lists and dictionaries, are unchangeable. As a result, two equal strings or tuples
are also identical. They're both referring to the unique memory region.

The nonlocal Keyword


Nonlocal keyword usage is fairly analogous to global keyword usage. The keyword nonlocal is designed
to indicate that a variable within a function that is inside a function, i.e., a nested function is just not
local to it, implying that it is located in the outer function. We must define a non-local parameter with
nonlocal if we ever need to change its value under a nested function. Otherwise, the nested function
creates a local variable using that title. The example below will assist us in clarifying this.

Code

1. def the_outer_function():
2. var = 10
3. def the_inner_function():
4. nonlocal var
5. var = 14
6. print("The value inside the inner function: ", var)
7. the_inner_function()
8. print("The value inside the outer function: ", var)
9.
10. the_outer_function()

Output:

The value inside the inner function: 14


The value inside the outer function: 14

the_inner_function() is placed inside the_outer_function in this case.

The the_outer_function has a variable named var. Var is not a global variable, as you may have noticed.
As a result, if we wish to change it inside the the_inner_function(), we should declare it using nonlocal.

As a result, the variable was effectively updated within the nested the_inner_function, as evidenced by
the results. The following is what happens if you don't use the nonlocal keyword:

Code

1. def the_outer_function():
2. var = 10
3. def the_inner_function():
4. var = 14
5. print("Value inside the inner function: ", var)
6. the_inner_function()
7. print("Value inside the outer function: ", var)
8.
9. the_outer_function()

Output:

Value inside the inner function: 14


Value inside the outer function: 10
Iteration Keywords: for, while, break, continue
The iterative process and looping are essential programming fundamentals. To generate and operate
with loops, Python has multiple keywords. These would be utilized and observed in almost every Python
program. Knowing how to use them correctly can assist you in becoming a better Python developer.

The for Keyword

The for loop is by far the most popular loop in Python. It's built by blending two Python keywords. They
are for and in, as previously explained.

The while Keyword

Python's while loop employs the term while and functions similarly to other computer languages' while
loops. The block after the while phrase will be repeated repeatedly until the condition following the
while keyword is false.

The break Keyword

If you want to quickly break out of a loop, employ the break keyword. We can use this keyword in both
for and while loops.

The continue Keyword

You can use the continue Python keyword if you wish to jump to the subsequent loop iteration. The
continue keyword, as in many other computer languages, enables you to quit performing the present
loop iteration and go on to the subsequent one.

Code

1. # Program to show the use of keywords for, while, break, continue


2. for i in range(15):
3.
4. print( i + 4, end = " ")
5.
6. # breaking the loop when i = 9
7. if i == 9:
8. break
9. print()
10.
11. # looping from 1 to 15
12. i = 0 # initial condition
13. while i < 15:
14.
15. # When i has value 9, loop will jump to next iteration using continue. It will not print
16. if i == 9:
17. i += 3
18. continue
19. else:
20. # when i is not equal to 9, adding 2 and printing the value
21. print( i + 2, end = " ")
22.
23. i += 1

Output:

4 5 6 7 8 9 10 11 12 13
2 3 4 5 6 7 8 9 10 14 15 16
Exception Handling Keywords - try, except, raise, finally, and assert
try: This keyword is designed to handle exceptions and is used in conjunction with the keyword except
to handle problems in the program. When there is some kind of error, the program inside the "try"
block is verified, but the code in that block is not executed.

except: As previously stated, this operates in conjunction with "try" to handle exceptions.

finally: Whatever the outcome of the "try" section, the "finally" box is implemented every time.

raise: The raise keyword could be used to specifically raise an exception.

assert: This method is used to help in troubleshooting. Often used to ensure that code is correct.
Nothing occurs if an expression is interpreted as true; however, if it is false, "AssertionError" is raised.
An output with the error, followed by a comma, can also be printed.

Code

1. # initializing the numbers


2. var1 = 4
3. var2 = 0
4.
5. # Exception raised in the try section
6. try:
7. d = var1 // var2 # this will raise a "divide by zero" exception.
8. print( d )
9. # this section will handle exception raised in try block
10. except ZeroDivisionError:
11. print("We cannot divide by zero")
12. finally:
13. # If exception is raised or not, this block will be executed every time
14. print("This is inside finally block")
15. # by using assert keyword we will check if var2 is 0
16. print ("The value of var1 / var2 is : ")
17. assert var2 != 0, "Divide by 0 error"
18. print (var1 / var2)

Output:

We cannot divide by zero


This is inside finally block
The value of var1 / var2 is :
---------------------------------------------------------------------------
AssertionError Traceback (most recent call last)
Input In [44], in ()
15 # by using assert keyword we will check if var2 is 0
16 print ("The value of var1 / var2 is : ")
---> 17 assert var2 != 0, "Divide by 0 error"
18 print (var1 / var2)

AssertionError: Divide by 0 error


The pass Keyword
In Python, a null sentence is called a pass. It serves as a stand-in for something else. When it is run,
nothing occurs.

Let's say we possess a function that has not been coded yet however we wish to do so in the long term.
If we write just this in the middle of code,

Code

1. def function_pass( arguments ):

Output:

def function_pass( arguments ):


^
IndentationError: expected an indented block after function definition on line 1
as shown, IndentationError will be thrown. Rather, we use the pass command to create a blank container.

Code

1. def function_pass( arguments ):


2. pass

We can use the pass keyword to create an empty class too.

Code

1. class passed_class:
2. pass
The return Keyword
The return expression is used to leave a function and generate a result.

The None keyword is returned by default if we don't specifically return a value. The accompanying
example demonstrates this.

Code

1. def func_with_return():
2. var = 13
3. return var
4.
5. def func_with_no_return():
6. var = 10
7.
8. print( func_with_return() )
9. print( func_with_no_return() )

Output:

13
None
The del Keyword
The del keyword is used to remove any reference to an object. In Python, every entity is an object. We
can use the del command to remove a variable reference.

Code

1. var1 = var2 = 5
2. del var1
3. print( var2 )
4. print( var1 )

Output:

5
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
Input In [42], in ()
2 del var1
3 print( var2 )
----> 4 print( var1 )

NameError: name 'var1' is not defined

We can notice that the variable var1's reference has been removed. As a result, it's no longer recognized.
However, var2 still exists.

Deleting entries from a collection like a list or a dictionary is also possible with del:

Code

1. list_ = ['A','B','C']
2. del list_[2]
3. print(list_)

Output:

['A', 'B']

You might also like