Chapter 3 - Overview of Python
Chapter 3 - Overview of Python
Chapter 3 - Overview of Python
INTRODUCTION:
Python was created by Guido Van Rossum when he was working at CWI (Centrum Wiskunde &
Informatica) which is a National Research Institute for Mathematics and Computer Science in Netherlands. The
language was released in 1991. Python got its name from a BBC comedy series from seventies called
“Monty Pythons Flying Circus”. It is based on two programming languages called ABC and Modula–3.
It is used in a variety of fields, including software development, web development, scientific computing,
big data and Artificial Intelligence.
It is a general purpose programming language which can be used for both scientific and non scientific
programming.
It is a platform independent programming language.
It is a very simple high level language with vast library of add–on modules.
It is excellent for beginners as the language is interpreted, hence gives immediate results.
The programs written in Python are easily readable and understandable.
It is suitable as an extension language for customizable applications.
It is easy to learn and use.
It is case sensitive. i.e. Uppercase and Lowercase alphabets are different
ADVANTAGES OF PYTHON:
1. Easy to Use: Python is compact and very easy to use Object Oriented language with very simple
syntax rules. It is programmer–friendly
2. Expressive Language: Because of simple syntax and fewer lines of code, it is more capable to express
code's purpose than many other languages
WORKING IN PYTHON:
To write and run Python program, install Python interpreter in computer. IDLE (GUI integrated) is the
standard, most popular Python development environment. IDLE is an acronym of Integrated Development
Environment. It lets edit, run, browse and debug Python Programs from a single interface. This environment
makes it easy to write programs.
Python shell (interpreter) can be used in two ways (i) Interactive Mode (ii) Script Mode
Interactive Mode: As the name suggests, this mode allows to interact with OS. This mode does not save
commands in form of a program. Some points to remember while working in interactive mode are,
The symbol '>>>' is called Python prompt, indicates that interpreter is ready to accept command
At the prompt, either a command or statement or expression can be given
The secondary prompt is '...', indicates that interpreter is waiting for additional input
Any statement starts with the symbol "#" is called comment
Alt+P and Alt+N are used to invoke and repeat prior commands provided interactive window
The quit( ) or Ctrl+D is used to leave the interpreter
Ctrl+F6 will restarts the shell
Type credits at the prompt to get information about the organization involved in Python development
The commands copyright and license( ) can be used to know more about Python
The command help( ), with empty parenthesis, will provides an interactive help
The command help( ), with a command inside parenthesis, will provide an exclusive help about
required command
To leave help and return to interactive mode, quit command can be used
Script Mode: In script mode, Python program is to be typed in a file and then interpreter to be used to execute
the content from the file. Working in interactive mode is convenient for beginners and for testing small pieces of
code. But for coding more than few lines, code is to be saved so that it can be modified and reused.
To create and run a Python script, the following steps to be used in IDLE
1. FileOpen OR FileNew Window (for creating a new script file)
2. Write the Python code as function i.e. script
3. Save it (Ctrl+S)
4. Execute it in interactive mode, by using RUN option (Ctrl+F5)
Understanding print( ):
To print or display output, Python provides print( ) statement. It can be used as follows
print (<objects to be printed>...)
Ex: print ("Hello World")
TOKENS:
The smallest individual unit in a program is known as Token. It is also called as Lexical Unit. Tokens
present in Python are (i) Keywords (ii) Identifiers (iii) Literals (iv) Operators (v) Punctuators
Keywords: A keyword is a reserved word that has a predefined meaning to the compiler / interpreter. A
keyword must not be used as identifier. Python has the following keywords
False assert del for in or while
None break elif from is pass with
True class else global lambda raise yield
and continue except if nonlocal return
as def finally import not try
Identifiers: An identifier is a name given to a program element such as variable, function, list, dictionary etc.
The rules to be followed while naming an identifier in Python are,
It may consist of letters (A–Z, a–z), digits (0–9), and underscore( _ )
It must begin with a letter or an underscore
It must not begin with a digit
Uppercase and lowercase alphabets are different. For example sum, Sum, SUM all are different
A keyword must not be used as an identifier
It can be of any length. However, it is preferred to be short and meaningful
Literals / Constants: A literal or constant is a program element that will never change its values during
program execution. Python allows several kinds of literals like (i) String literals (ii) Numeric literals (iii)
Boolean literals (iv) Special Literal None
String Literals: A string literal is a sequence of characters enclosed in either single quotes or double quotes.
Either both single quotes or both double quotes to be used for a string. Example: "Python", 'Program' etc. A
single quoted string inside double quotes and vice–versa is legal in Python. Ex: "Anu's" and 'Anu"s' are valid
Escape sequence will be given as a string and performs specified task. Some escape sequences are
\n New line character
\t Horizontal Tab
Single–line Strings: The strings that create by enclosing text in single quotes or double quotes are called
single–line strings. Ex: "Python", 'Apple'
Multiline Strings: To provide a string in multiline, it is to be provided in triple quotes (triple single
quotes or triple double quotes)
Numeric Literals: These literals are three types namely (i) Integer literals (ii) float literals (iii) complex literals
Integer Literals: An integer constant must have at least one digit and must not contain any decimal point.
Different integer literals available are,
1. Decimal Integer Literals: It consists of a sequence of digits between 0 and 9 and does not start with
zero. Ex: 1234, –458 etc
2. Octal Integer Literals: It consists of a sequence of digits between 0 and 7. It begins with 0o(Digit Zero
Letter o) Ex: 0o24, 0o746 etc
3. Hexadecimal Literals: It consists of a sequence of hexadecimal values between 0–9 and A–F. It begins
with 0x. Ex: 0x14AC
Floating Point Literals: These are also called as Real Literals. These can be expressed in two forms viz.
Fractional Form and Exponent Form
1. Fractional Form: A real constant in fractional form must have at least one digit either before or after
decimal point. Ex; 2.0, 17.5, –14.6, –0.05, .3 (means 0.3), 6. (means 6.0)
2. Exponent Form: A real constant in exponent form consists of two parts mantissa and exponent. The
mantissa must be either an integer or a proper real constant. The mantissa is followed by a letter E or e
and the exponent. The exponent must be an integer.
Ex: 152E05, 1.52e07, 0.152E08, 152e+8,–0.172E–3, .25e–4
Boolean Literals: A Boolean literal represent one of the two Boolean values i.e. True or False. A Boolean
literal can either have value as True or as False
Operators: An operator is a symbol that is used in a program in respect of some operation. Each operation is
denoted by some operator. For example the operation addition is denoted by + and the operation “finding
remainder” is denoted by %. Each programming language will have its own set of operators.
The constants or variables that participate in the operation are called operands
6 + 4
Unary Operator: If an operator takes only one operand then it is called Unary Operator
Binary Operator: If an operator takes two operands then it is called Binary Operator.
Ternary Operator: If an operator takes three operands then it is called Ternary Operator
Punctuators: These are the symbols used in programming to organize sentence structures and indicate the
emphasis of expressions, statements and program structure. Some punctuators available in Python are,
'"#\()[]{}@,:.=
5
Statement: A statement is a programming instruction that does something i.e. performs some action
Comments: These are the statements that will be ignored by Python interpreter and will increase readability of
program. A single line comment starts with the symbol #. For multiline comment content will be enclosed in
triple quotes (" " ") or triple apostrophe (' ' '). A multiline comment is also known as docstring.
Functions: A function is a code that has collection of statements to do some task. It has a name and a function
can be executed repeatedly as many times required
Blocks and Indentation: A group of statements which are part of another statement or a function are called
block or code–block or suite.
VARIABLES:
A variable is a program element that can change its value during program execution. It is an identifier
that has a named location and refers to a value and that value can be processed during program run. As a
variable is an identifier, all the rules for naming an identifier are applicable for naming a variable
Creating a Variable: A variable is created by assigning a value of desired type to it. For example, an integer
variable can be created by assigning an integer value, and a string variable can be created by assigning a string.
It is not possible to create a variable with assigning a value to it
Ex: age = 20 # Means variable age is integer
average = 95.6 # Means variable average is of type float
name = "CBSE" # Means variable name is of type string
LValues and RValues: The LValues are the variables that hold a value or expression, and may present on either
left–hand side or right–hand side of assignment. The RValues are the literals or expressions or variables that are
assigned to LValues and can present on only right–hand side of assignment
Dynamic Typing: A variable having a value of certain data type can be assigned with value of some other data
type. In this case, it automatically assumed to change the data type of that variable. This is referred as Dynamic
Typing
x = 10
print (x)
x = "Informatics Practices"
print(x)
This code will results in
10
Informatics Practices
Displaying type of variable: The type( ) can be used to display the data type of a variable or constant or object
Example: >>> a=10
>>> type(a)
<class 'int'>
>>> a=20.5
>>> type(a)
<class 'float'>
>>> a="Python"
>>> type(a)
<class 'str'>
Input: The input( ) function is used to input during runtime of a program. But, this function always returns a
value of string type. i.e. even a number inputted using input( ) method is not a number and is a string
In the above case the value 10 inputted is assumed as string. Hence type of x is string
To input as a number it is to be appropriately converted into desired data type, like below
>>> print(a+2)
12
7
Output: The print( ) function is used for output to standard output device, monitor.
Syntax: print(object1, [object2, object3, ....., sep=' ' or seperator_string, end=' ' or end_string])
Example Command Output
1 print("Informatics Practices") Informatics Practices
Numbers: Number data type stores numerical values. This data type is immutable, mean that the value of its
object cannot be changed. These are of three different types
Integers: Integers are the whole numbers like 100000, –99, 0, 17 etc. They have no decimal point. Integers can
be positive or negative. If an integer has no sign, then it is positive. There are two types of Integers
int: While writing an integer value, commas must not be used to separate digits. Also integers should not
have leading zeros. The data type int can store any integer, either big or small.
bool: These represent the truth values False and True, that resembles integers 0 and 1 respectively. The
bool( ) function returns the boolean equivalent digit.
>>> bool(1)
True
>>> bool(0)
False
Floating Point Numbers: Numbers with fractions or decimal point are called floating point numbers. A
floating point number will consist of sign (+,–) sequence of decimals digits and a dot such as 0.0, –21.9,
0.98333328, 15.2963. These numbers can be written in two forms
(i) Fractional Form Examples 3500.75, 0.00005, 147.9101 etc
(ii) Exponent Form Examples 3.50075E03, 0.5E–04, 1.479101E02 etc
The advantage of floating point numbers over integers are, they can represent values between integers
and can be used to represent much greater range of values
Complex Numbers: Complex number in python is made up of two floating point values, one each for real and
imaginary part. For accessing different parts of variable (object) x; we will use x.real and x.imag. Imaginary part
of the number is represented by „j‟ instead of „i‟, so 1+0j denotes zero imaginary part.
>>> c=2–3j
>>> c.real
2.0
>>> c.imag
–3.0
None: This is special data type with single value. It is used to signify the absence of value/false in a situation. It
is represented by None. It is used to define a null value, or no value at all. None is not the same as 0, False, or
an empty string.
>>> x=None
>>> print(x)
None
String: is an ordered sequence of letters/characters. They are enclosed in single quotes (' ') or double ("
"). The quotes are not part of string. They only tell the computer where the string constant begins and
ends. They can have any character or sign, including space in them. These are immutable data types.
Example
>>> a = 'Ram'
Every string is a sequence of characters. Every character in a string has an index and the character can be
accessed using its index
Ex:
Index 0 1 2 3 4 5
String P Y T H O N
Index –6 –5 –4 –3 –2 –1
Every character has two indexes like above and can be accessed using either of the two indexes
>>> name="PYTHON"
>>> print(name[2])
T
>>> print(name[–4])
T
It is possible to change one type of value/variable to another type. It is known as type conversion or type
casting. The conversion can be done explicitly (programmer specifies the conversions) or implicitly
(Interpreter automatically converts the data type).
For explicit type casting, we use functions (constructors): int( ), float( ), str( ), bool( )
Example1 Example2
>>> a= 12.34 >>>a=25
>>> b= int(a) >>>y=float(a)
>>> print (b) >>>print (y)
12 25.0
Lists: List is also a sequence of values of any type. Values in the list are called elements / items. These
are mutable and indexed/ordered. List is enclosed in square brackets.
Example: lt = ['spam', 20.5,5]
Tuples: Tuples are a sequence of values of any type, and are indexed by integers. They are immutable.
Tuples are enclosed in ( ).
Example: >>> T=10, 20, 30, 40
>>> print (T)
(10, 20, 30, 40)
Sets: Set is an unordered collection of values, of any type, with no duplicate entry. Sets are mutable. Duplicate
values given, if any, will be considered only once. Set elements cannot be accessed individually.
Example: s = set ([1,2,3,4])
Mapping: This data type is unordered and mutable. Dictionaries fall under Mappings.
Dictionaries: These can store any number of python objects. What they store is a key – value pairs, which
are accessed using key. Dictionary is enclosed in curly brackets.
Example: d = {1:'a',2:'b',3:'c'}
VARIABLE INTERNALS:
The data or values are referred to as object. Similarly, a variable is also an object that refer to a value.
Every object has three key attributes associated to it. These are,
(i) type of object: The data type of a constant or variable can be displayed using type( ) statement with the
required argument
Relational Operators:
Logical Operators:
Symbol Description
and If any one of the operand is true, then the condition becomes true
or If both the operands are true, then the condition becomes true
A B A and B A or B not A
True True True True False
True False False True False
False True False True True
False False False False True
Assignment Operators:
Identity Operators:
Membership Operators:
EXPRESSIONS:
1. Arithmetic Expressions: These expressions involve numbers (integers, floating point numbers,
complex numbers) and arithmetic operators
Ex: 2+8/3, 5.6–4.2/8*1.2
2. Relational Expressions: An expression having literals and/or variables of any valid type and relational
operators is a relational expression
Ex: x>y, y<=z, z<>x, z==q, x<y>, x==y<>z
3. Logical Expressions: An expression having literals and/or variables of any valid type and logical
operators is a logical expression.
Ex: a or b, b and c, a and not b, not c or not b
4. String Expressions: An expression that have string operands and results to string are string expression.
Ex: "Pine"+"Apple", "Hello"*3
Precedence of Operators: While evaluating an expression the precedence of operators will be like below. It
gives the order of evaluation of operators in an expression. However the precedence can be changed by using
parenthesis
13