Python - Revision Tour
Python - Revision Tour
TOKENS
BAREBONES OF PYTHON
VARIABLES AND
ASSIGNMENT
INPUT & OUTPUT
DATA TYPES
MUTABLE AND IMMUTABLE
TYPESS
EXPRESSION
FLOW OF CONTROL
JUMP STATEMENT
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
Easy to use Object oriented language
Expressive language
Interpreted Language
Its completeness
Cross-platform Language
Fee and Open source
Variety of Usage / Applications
Not the fastest language
Lesser Libraries than C, Java, Perl
Not Strong on Type-binding
Not Easily convertible
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
Literal
tokens: s
Keywords # Simple Python
Identifiers(Name Program
for i in range(1,10): Punctuator
)Literal if i %2 print(i
!= 0: s
sOperators Keywords ) Operators
Punctuator
Identifier
s
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.
A partial list of keywords in Python
is
Are the names given to different parts of program like variables,
objects, classes, functions etc.
Identifier forming rules of Python are :
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
• 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
>>> num = 0o10
>>> print(num)
It will print the value 8
>>> isMarried=True
>>> type(isMarried)
<class 'bool'>
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'>
• are symbol that perform specific operation when applied
on variables. Take a look at the expression:
(Operator)
10 + 25
(Operands)
Assignme
nt
Bitwise &, ^, |, <<, >>
• 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: „ “ # $ @ []{}=:;(),.
for more updates visit: www.python4csip. com
B=A+20 Expression
Inline
C=A+B s
Comment
if(C>=100) #checking
s
condition
print(“Value is equals or more than
else 100”) Bloc
Indentatio
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)
• 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)
x=100 x int: 100
string:KV
OEF
• 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,
• 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.
• 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
Output will be
10 40 11
y, y = 10, 20
• 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.
Backward
indexing
• 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
• 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)
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}
Core Data types
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
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
• 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
• 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
3. Sets change the value,
its reference
•Examples: (using List)
memory address
>>> employee=["E001","Rama","Sales",67000] has remained same
>>> print(id(employee))
71593896
>>>
employee[3]=75000
>>> print(id(employee))
71593896
>>>
• 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
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'>
• 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
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.
It is done using the syntax :
datatype_to_convert(expression)
For
example:
str=„100‟ Num # String type
= int(str) # will convert the str to int
type
• import math # to include math
• Important functions: library
ceil(), sqrt(), exp(), fabs(), floor(), log(), log10(),
pow(), sin(), cos(), tan()
Home work
Home work