CH 1 Revision Tour
CH 1 Revision Tour
TOKENS
BAREBONES OF PYTHON
VARIABLES AND ASSIGNMENT
INPUT & OUTPUT
DATA TYPES
MUTABLE AND IMMUTABLE TYPESS
EXPRESSION
FLOW OF CONTROL
JUMP STATEMENT
1
Python was created by Guido Van Rossum
The language was released in February I991
Python got its name from a BBC comedy series from seventies-
“Monty Python‟s Flying Circus”
Python can be used to follow both Procedural approach and
Object Oriented approach of programming
It is free to use
Python is based on or influenced with two programming
languages:
ABC language [replacement of BASIC]
Modula-3
2
Easy to use Object oriented language
Expressive language
Interpreted Language
Its completeness
Cross-platform Language
Fee and Open source
Variety of Usage / Applications
3
Not the fastest language
Lesser Libraries than C, Java, Perl
Not Strong on Type-binding
Not Easily convertible
4
In a passage of text, individual words and punctuation
marks are called tokens or lexical units or lexical
elements. The smallest individual unit in a program is
known as Tokens. Python has following tokens:
Literals
Punctuators
Identifier
5
Keywords are the reserved words
and have special meaning for
python interpreter. Every keyword
is assigned specific work and it
can be used only for that purpose.
6
Are the names given to different parts of program like variables,
objects, classes, functions etc.
Identifier forming rules of Python are :
7
GradePay File_12_2018 JAMES007
GRADEPAY _ismarried _to_update
8
• Literals are data items that have a fixed value. Python
supports several kinds of literals:
• String Literal
• Numeric Literals
• Boolean Literals
• Special Literals – None
9
• It is a collection of character(s) enclosed in a double or single
quotes. It can be either Single line strings or Multiline Strings
• SINGLE LINE STRING : must terminate in one line i.e. the closing
quotes should be on the same line as that of the opening quotes
• Examples of String literals
• “Python”
• “Mogambo”
• „123456‟
• „Hello How are your‟
• „$‟,„4‟,”@@”
• In Python both single character or multiple characters enclosed
in quotes such as “kv”, „kv‟,‟*‟,”+”are treated as same
10
• MULTI LINE STRING : To store multiline string Python provides two
ways:
• (1) By adding a backslash at the end of normal Single / Double quoted
string. For e.g.
>>> Name="1/6 Mall Road \
Kanpur"
>>> Name
'1/6 Mall RoadKanpur'
>>>
(2) By typing text in triple quotation marks
for e.g.
>>> Address="""1/7 Preet Vihar 1/7 Preet Vihar
New Delhi New Delhi
India
India"""
>>> Address
>>> print(Address) '1/7 Preet Vihar\nNew Delhi\nIndia'
11
Escape Sequence What it does Escape Sequence What it does
\\ Backslash \r Carriage return
\‟ Single quotes \t Horizontal tab
\” Double quotes \uxxxx Hexadecimal
value(16 bit)
\a ASCII bell \Uxxxx Hexadecimal
value(32 bit)
\b Back Space \v vertical tab
\n New line \ooo Octal value
12
• Python determines the size of string as the count of characters in the
string. For example size of string “xyz” is 3 and of “welcome” is 7.
But if your string literal has an escape sequence contained in it then
make sure to count the escape sequence as one character. For e.g.
String Size
„\\‟ 1
„abc‟ 3
„\ab‟ 2
“Meera\‟s Toy” 11
“Vicky‟s” 7
• You can check these size using len() function of Python. For example
• >>>len(„abc‟) and press enter, it will show the size as 3
13
• The numeric literals in Python can belong to any of the
following numerical types:
1)INTEGER LITERALS: it contain at least one digit and must
not contain decimal point. It may contain (+) or (-) sign.
• Types of Integer Literals:
a) Decimal : 1234, -50, +100
b)Octal : it starts from symbol 0o (zero followed by
letter ‘o’)
• For e.g. 0o10 represent decimal 8
14
>>> num
= 0o10
>>>
It will print the value 8
print(num)
c) Hexadecimal : it starts from 0x (zero followed by
letter ‘x’)
>>> num = 0xF
>>> print(num)
it will print the value 15
>>> num = 0xABC
>>> print(num)
it will print the value 2748
15
• ) Floating point Literals: also known as real literals. Real
literals are numbers having fractional parts. It is
represented in two forms Fractional Form or Exponent Form
• Fractional Form: it is signed or unsigned with decimal point
• For e.g. 12.0, -15.86, 0.5, 10. (will represent 10.0)
• Exponent Part: it consists of two parts “Mantissa” and “Exponent”.
• For e.g. 10.5 can be represented as 0.105 x 102 = 0.105E02 where 0.105
is mantissa and 02 (after letter E) is exponent
3) Complex number Literals : Complex number in python is made up
of two floating
Example
>>> x = 1+0j
>>> print x.real,x.imag
1.0 0.0
16
A Boolean literals in Python is
used to represent one of the two
Boolean values i.e. True or False
These are the only two values
supported for Boolean Literals
>>> isMarried=True
>>> type(isMarried) For e.g.
<class 'bool'>
17
Python has one special literal, which is None. It indicate absence
of value. In other languages it is knows as NULL. It is also used to
indicate the end of lists in Python.
>>> salary=None
>>> type(salary)
<class 'NoneType'>
18
• are symbol that perform specific operation when applied on
variables. Take a look at the expression:
(Operator)
10 + 25 (Operands)
19
• Operators can be
Type of Operators Symbols
Arithmetic +, -, *, /, %, **, //
Relational >, <, >=, <=, ==, !=
Logical and, or
Identity is, is not
Assignment =
Membership in, not in
Arithmetic +=, -=, *=, /=, %=, **=, //=
Assignment
Bitwise &, ^, |, <<, >>
20
• Punctuators are symbols that are used in programming
languages to organize sentence structure, and indicate
the rhythm and emphasis of expressions, statements, and
program structure.
• Common punctuators are: „“ # $ @ []{}=:;(),.
21
• It means basic structure of a Python program
• Take a look of following code:
B=A+20 Expressions
Inline Comment
C=A+B
if(C>=100) #checking condition
print(“Value is equals or more than 100”)
else: Block
Indentation
23
• Note: Python variables are not storage containers like other
programming language. Let us analyze by example.
• In C++, if we declare a variable radius:
radius = 100
[suppose memory address is 41260]
Now we again assign new value to radius
radius = 500
Now the memory address will be still same only value
will change
24
• Now let us take example of Python:
radius = 100 [memory address 3568]
Now you can see that In python, each time you assign new
value to variable it will not use the same memory address
and new memory will be assigned to variable. In python the
location they refer to changes every time their value
change.(This rule is not for all types of variables)
25
• In Python, a variable declared as numeric type can be
further used to store string type or another.
• Dynamic typing means a variable pointing to a value of
certain type can be made to point to value/object of
different type.
• Lets us understand with example
x = 100 # numeric type
print(x)
x=“KV OEF” # now x point to string type
print(x)
26
x=100 x int: 100
string:KV OEF
27
• Always ensure correct operation during dynamic typing.
If types are not used correctly Python may raise an
error.
•Take an example
x = 100
y=0
y=x/2
print(y)
x='Exam'
y = x / 2 # Error, you cannot divide string
28
• Dynamic typing is different from Static typing. In Static
Typing, a data type is attached with a variable when it
is defined first and it is fixed. That is data type of
variable cannot be changed in Static typing whereas
there is no such restriction in dynamic typing, which is
supported by Python.
29
• Python is very versatile with assignments. Let‟s see in how
different ways we can use assignment in Python:
1. Assigning same value to multiple variable
a = b = c = 50
2. Assigning multiple values to multiple variable
a,b,c = 11,22,33
30
x,y,z = 10,20,30 #Statement 1
z,y,x = x+1,z+10,y-10 #Statement 2
print(x,y,z)
Output will be
10 40 11
31
Let us take another example
y, y = 10, 20
34
• Now we are aware that input() function value will
always be of string type, but what to do if we want
number to be entered. The solution to this problem is to
convert values of input() to numeric type using int() or
float() function.
38
Note:
• Example
We can change the value of
• print(“Learning Python ”,end=““)
end to any other value.
• print(“ Developed by Guido Van Rossum”)
• Output
• Learning Python Developed by Guido Van
Rossum
39
Open a new script file and type the following code:
40
• WAP to calculate perimeter of rectangle
• WAP to enter radius and calculate area of circle
• WAP to enter Name, marks of 5 subject and calculate total &
percentage of student
• WAP to enter distance in feet and convert it into inches
• WAP to enter value of temperature in Fahrenheit and convert it
into Celsius.
• WAP to enter radius and height of cylinder and calculate
volume of cylinder.
41
• Data type in Python specifies the type of data we are going to store in any
variable, the amount of memory it will take and type of operation we can
perform on a variable. Data can be of many types e.g. character, integer,
real, string etc.
• Python supports following data types:
Numbers ( int, float)
String
List
Tuple
Dictionary
42
• From the name it is very clear the Number data types are used to
store numeric values. Numbers in Python can be of following types:
(i) Integers
a) Integers(signed)
b) Booleans
(ii) Floating point numbers
(iii) Complex Numbers
43
• Integers allows to store whole numbers only and there is no fraction
parts. Integers can be positive and negative e.g. 100, 250, -12, +50
• There are two integers in Python:
1) Integers(signed) : it is normal integer representation of whole
numbers. Integers in python can be on any length, it is only limited
by memory available. In Python 3.x int data type can be used to
store big or small integer value whether it is +ve or –ve.
2) Booleans: it allows to store only two values True and False. The
internal value of boolean value True and False is 1 and 0 resp. We
can get boolean value from 0 and 1 using bool() function.
44
• Floating point number are mainly used for storing values like
distance, area, temperature etc. which have a fractional part.
• Floating point numbers have two advantage over integers:
they can represent values between the integers
they can represent a much greater range of values
• But floating point numbers suffers from one disadvantage also:
Floating point operations are usually slower than integer
operations.
46
• Python allows to retrieve real and imaginary part of complex number
using attributes: real and imag
• If the complex number is a then we can write a.real or a.imag
• Example
• >>>a=1+3.54j
• >>>print(a.real) # 1.0
• >>>print(a.imag) # 3.54
47
• All string in Python is a sequence of characters. Unicode
supports every characters from every language.
• Following are all legal strings in Python
• “LEARNING”, “135”, “$$##”, “भारत”,
48
• In Python string is a sequence of characters and each character can be individually
access using index. From beginning the first character in String is at index 0 and last
will be at len-1. From backward direction last character will be at index -1 and first
character will be at –len.
Forward indexing
0 1 2 3 4 5 6
W E L C O M E
-7 -6 -5 -4 -3 -2 -1
Backward indexing
49
• 1. A list in python represents a list of comma-separated values of any
data type between square brackets
• 2. It is mutable i.e. values are changeable
• [10,20,30,40,50]
• [„a‟,‟e‟,‟o‟,‟i‟,‟u‟]
• [“KV”,208004,97.5]
• Example :
• >>> family=["Mom","Dad","Sis","Bro"]
• >>> print(family)
• ['Mom', 'Dad', 'Sis', 'Bro']
• >>> „Tommy‟ in family # Output will be false
50
• Tuples as those list which cannot be changed i.e. not modifiable.
Tuples are defined inside parenthesis and values separated by
comma.
• >>> favorites=("Blue","Cricket","Gajar Ka Halwa")
• >>> student=(1,"Aman",97.5)
• >>> print(favorites)
• ('Blue', 'Cricket', 'Gajar Ka Halwa')
• >>> print(student)
• (1, 'Aman', 97.5)
51
Dictionary is another feature of Python. It is an unordered set of comma separated
key:value pairs. Dictionary Items are defined in Curly Brackets { }
Keys defined in Dictionary cannot be same i.e. no two keys can be same.
• >>> student={'Roll':1,'Name':"Jagga",'Per':91.5}
• >>>print(student)
• >>> print(student['Per'])
• 91.5
• >>> val={1:100,2:300,4:900} # Key name can be string / numeric
• >>> print(val[1])
• 100
• Dictionary is mutable. i.e. We can modify dictionary elements.
• >>>val[2]=1000
• >>>print(val) # {1: 100, 2: 1000, 4: 900}
52
Core Data types
Boolean
53
• Python data object can be broadly categorized into two types – mutable and
immutable types. In simple words changeable/modifiable and non-modifiable
types.
• 1. Immutable types: are those that can never change their value in place. In
python following types are immutable: integers, float, Boolean, strings, tuples
• Sample Code:
a = 10
b=a
c = 15 From# twhiilsl gcvi oedeo,utypouut 1c0a,n10s,3a0y the value of integer a, b,c
a = 20 could be changed effortlessly, but this is not the case. Let
b = 40 us understand what was done behind the scene
c=b
54
• Note: In python each value in memory is assigned a memory address. So each
time a new variable is pointing to that value they will be assigned the same
address and no new memory allocation. Let us understand the case.
value
10 15 20 21 40 55
address 250 272 280 284 290 312
>>> a=10
a = 10 >>> b=a
b=a >>> c=15
c = 15 a b c >>> print(id(a))
1757402304
>>> print(id(b))
Python provides id() function to get the 1757402304
memory address to which value /variable is >>> print(id(c))
1757402384
referring
>>> print(id(10))
1757402304
55
a = 20
Now let us understand the changes done to variable a, b,c b = 40
c=b
value
10 15 20 21 40 55
address 250 272 280 284 290 312
>>> a=20
a >>> b=40
c b >>> c=b
>>> print(id(a))
1757402464
Python provides id() function to get the >>> print(id(b))
memory address to which value /variable is 1757402784
referring >>> print(id(c))
1757402784
56
• From the previous code it is clear that variable names are stored references to a
value-object. Each time we change the value the variable‟s reference memory
address changes. So it will not store new value in same memory location that‟s why
Integer, float, Booleans, strings and tuples are immutable.
• Variables (of certain type) are NOT LIKE storage containers i.e. with fixed memory
address where value changes every time. Hence they are immutable
57
• Mutable means in same memory address, new value can be
stored as and when it is required. Python provides following
mutable types:
1. Lists
2. Dictionaries See, even if we
change the value, its
reference memory
•Examples: (using List) address has
>>> employee=["E001","Rama","Sales",67000] remained same
>>> print(id(employee))
71593896
>>> employee[3]=75000
>>> print(id(employee))
71593896
>>> 58
• Python is an object oriented language. So every thing in python is an
object. An object is any identifiable entity that have some
characteristics/properties and behavior. Like integer values are object
– they hold whole numbers only(characteristics) and they support all
arithmetic operations (behavior).
• Every python object has three key attributes associated with it:
1. type of object
2. value of an object
3. id of an object
59
type of an object determines the
operations that can be performed
on the object. Built – in function type() returns the type of an
object
Example:
>>> a=100
>>> type(a)
<class 'int'>
>>> type(100)
<class 'int'>
>>> name="Jaques"
>>> type(name)
<class 'str'>
60
• While evaluating logical expressions, Python follows these rules:
• (i) the precedence of logical operators is lower than arithmetic
operators. For e.g.
10/5 or 5.0 + 50/10 will be evaluated as 5 or 10.0
• The precedence of logical operators among themselves are
NOT , AND , OR. So,
• (x and y or z and (not q)) will be evaluated as –
((x and y) or (z and (not q)))
• PYTHON USES SHORT-CIRCUIT CONCEPT WHILE EVALUATING
LOGICAL EXPRESSION
61
An explicit type conversion is user-
defined conversion that forces an
expression to be of specific type. The
explicit type conversion is
also known as Type Casting.
For example:
It is done using
str=„100‟ Num # Stringthe
type syntax :
= int(str) # will convert the str to int type
datatype_to_convert(expression)
62
• import math # to include math library
• Important functions:
ceil(), sqrt(), exp(), fabs(), floor(), log(), log10(),
pow(), sin(), cos(), tan()
63