Pthyon CHP 2
Pthyon CHP 2
VARIABLES, DATA
TYPES, Kuru Ratnavelu &Assistant
COMMENTS , Prof Ts Chit Su Mon
ERROR MESSAGES
Constants
• Fixed values such as numbers, letters, and
strings are called “constants” - because
their value does not change
• Numeric constants are as you expect
• String constants use single-quotes (') 123
>>> print
or double-quotes (") 123
>>> print 98.6
98.6
>>> print 'Hello world'
Hello world
Variables
• A variable is a named place in the memory where a
programmer can store data and later retrieve the data
using the variable “name”
• Programmers get to choose the names of the variables
• You can change the contents of a variable in a later
statement
x = 12.2 x 12.2100
y = 14
x = 100 y 14
Python Variable Name Rules
•Must start with a letter or underscore _
•Must consist of letters and numbers and
underscores
•Case Sensitive
•Good: spam eggs spam23 _speed
•Bad: 23spam #sign var.12
•Different: spam Spam SPAM
Reserved Words
•You can not use reserved words as variable
names / identifiers
x = 3.9 * x * ( 1 - x )
A variable is a memory
location used to store a x 0.6
value (0.6).
0.6 0.6
x = 3.9 * x * ( 1 - x )
0.4
Right side is an expression.
Once expression is 0.93
evaluated, the result is
placed in (assigned to) x.
A variable is a memory
location used to store a
value. The value stored in a x 0.6 0.93
variable can be updated by
replacing the old value (0.6)
with a new value (0.93).
x = 3.9 * x * ( 1 - x )
4 3 n
Multiplicati
>>> yy = 440 * 12 >>> print 4 ** 3 *
on
x = 1 + 2 * 3 - 4 / 5 ** 6
Operator Precedence Rules
•Highest precedence rule to lowest precedence
rule
• Parenthesis are always respected
• Exponentiation (raise to a power)
Parenthesis
• Multiplication, Division, and Remainder
Power
• Addition and Subtraction Multiplication
• Left to right Addition
Left to Right
>>> x = 1 + 2 ** 3 / 4 * 5 1 + 2 ** 3 / 4 * 5
>>> print x
11 1+8/4*5
>>>
1+2*5
Parenthesis
Power 1 + 10
Multiplication
Addition
Left to Right
11
>>> x = 1 + 2 ** 3 / 4 * 5 1 + 2 ** 3 / 4 * 5
>>> print x
11 1+8/4*5
>>> Note 8/4 goes before 1+2*5
4*5 because of the
left-right rule.
Parenthesis 1 + 10
Power
Multiplication
Addition 11
Left to Right
Operator Precedence Parenthesis
Power
•Remember the rules top to bottom Multiplication
Addition
•When writing code - use parenthesis Left to Right
•When writing code - keep mathematical
expressions simple enough that they are easy
to understand
•Break long series of mathematical operations
up to make them more clear
Exam Question: x = 1 + 2 * 3 - 4 / 5
Python Built-in Core Data
Types
Python offers following built-in core data types :
i) Numbers ii) String iii) List iv) Tuple v) Dictionary
Floating-Point Complex
Integers
Numbers Numbers
Integers(Signed)
Boolean
Intege
rs
Integers are whole numbers. They have no fractional parts.
Integers can be positive or negative.
There are two types of integers in Python:
i) Integers(Signed) : It is the normal integer representation of
whole numbers using the digits 0 to 9. Python provides
single int data type to store any integer whether big or
small. It is signed representation i.e. it can be positive or
negative.
ii)Boolean : These represent the truth values True and False. It
is a subtype of integers and Boolean values True and False
corresponds to values 1 and 0 respectively
Demonstration of Integer Data
Type
#Demonstration of Integer-Addition of two integer
number a=int(input("Enter the value of a:"))
b=int(input("Enter the value of
b:")) sum=a+b
print("The sum of two
integers=",sum)
Output:
Enter the value of a: 45
Enter the value of b:
67
The sum of two
integers= 112
Floating Point
Numbers
A number having fractional part is a floating point
number. It has a decimal point. It is written in two forms :
i) Fractional Form : Normal decimal notation e.g. 675.456
ii) Exponent Notation: It has mantissa and
exponent. e.g. 6.75456E2
Advantage of Floating point numbers:
They can represent values between the integers.
They can represent a much greater range of values.
Disadvantage of Floating point numbers:
Floating-point operations are usually slower than
integer operations.
Demonstration of Floating Point Data
Type
#Demonstration of Float Number- Calculate Simple
Interest princ=float(input("Enter the Principal Amount:"))
rate=float(input("Enter the Rate of
interest:")) time=float(input("Enter the Time
period:")) si=(princ*rate*time)/100
print("The Simple Interest=",si)
Output:
Enter the Principal
Amount:5000 Enter the Rate of
interest:8.5 Enter the Time
period:5.5 Simple Interest=
2337.5
Complex Number
Python represents complex numbers in the form a+bj.
Forward indexing 0 1 2 3 4 5 6 7
Subj C o m p u t e r
-8 -7 -6 -5 -4 -3 -2 -1 B
ackward indexing
#Demonstration of String- To input string & print
it my_name=input("What is your Name? :")
print("Greetings!!!")
print("Hello!",my_name)
print("How do you
do?")
Output :
What is your Name? :Ananya
Inkane Greetings!!!
Hello! Ananya
Inkane How do you
do?
List
The List is Python’s compound data type. A List in Python
represents a list of comma separated values of any data type
between square brackets. Lists are Mutable.
#Demonstration of List- Program to input 2 list & join
it List1=eval(input("Enter Elements for List 1:"))
List2=eval(input("Enter Elements for List 2:"))
List=List1+List2
print("List 1 :",List1)
print("List 2 :",List2)
print("Joined List :",List)
Output:
Enter Elements for List 1:[12,78,45,30]
Enter Elements for List 2:[80,50,56,77,95]
List 1 : [12, 78, 45, 30]
List 2 : [80, 50, 56, 77, 95]
Joined List : [12, 78, 45, 30, 80, 50, 56,
77, 95]
Tupl
e
The Tuple is Python’s compound data type. A Tuple in Python
represents a list of comma separated values of any data type
Within parentheses. Tuples are Immutable.
#Demonstration of Tuple- Program to input 2 tuple &
join it
tuple1=eval(input("Enter Elements for Tuple 1:"))
tuple2=eval(input("Enter Elements for Tuple
2:"))
Tuple=tuple1+tuple2
print(“Tuple 1 :“,tuple1)
print(“Tuple 2 :“,tuple2)
print("Joined Tuple :“,Tuple)
Output:
Enter Elements for Tuple 1:(12,78,45,30)
Enter Elements for Tuple 2:(80,50,56,77,95)
List 1 : (12, 78, 45, 30)
List 2 : (80, 50, 56, 77, 95)
Dictionary
Dictionaries are unordered collection of elements in curly braces in the form
of a key:value pairs that associate keys to values. Dictionaries are Mutable.
As dictionary elements does not have index value ,the elements are accessed
through the keys defined in key:value pairs.
#Demonstration of Dictionary- Program to save Phone nos. in dictionary
& print it
Phonedict={“Madhav”:9876567843,”Dilpreet”:7650983457,”Murugan”:9067
2 08769,”Abhinav”:9870987067}
print(Phonedict)
Output:
{'Madhav': 9876567843, 'Dilpreet': 7650983457, 'Murugan': 9067208769,
'Abhinav': 9870987067}
What does “Type” Mean?
• In Python variables,
literals, and constants
have a “type” >>> ddd = 1 + 4
• Python knows the >>> print ddd
difference between an 5
integer number and a >>> eee = 'hello ' + 'there'
string >>> print eee
• For example “+” means hello there
“addition” if something is a
number and “concatenate”
if something is a string concatenate = put together
>>> eee = 'hello ' + 'there'
Type Matters >>> eee = eee + 1
Traceback (most recent call
last):
• Python knows what File "<stdin>", line 1, in
“type” everything is <module>
• Some operations are TypeError: cannot
prohibited concatenate 'str' and 'int'
objects
• You cannot “add 1” to a >>> type(eee)
string <type 'str'>
• We can ask Python what >>> type('hello')
type something is by <type 'str'>
using the type() function. >>> type(1)
<type 'int'>
>>>
Several Types of Numbers
•Numbers have two main >>> xx = 1
>>> type (xx)
types <type 'int'>
• Integers are whole numbers: >>> temp = 98.6
-14, -2, 0, 1, 100, 401233
>>> type(temp)
• Floating Point Numbers have <type 'float'>
decimal parts: -2.5 , 0.0, >>> type(1)
98.6, 14.0
<type 'int'>
•There are other number >>> type(1.0)
types - they are variations <type 'float'>
on float and integer >>>
Number
s
• Numbers are referred to as numeric literals
• Two Types of numbers: ints and floats
– Whole number written without a decimal point
called an int
– Number written with a decimal point
called a
float
hours = 35.0
What is this rate = 12.50
code doing? pay = hours * rate
print pay
Optional print Argument
sep
• Consider statement
print(value0, value1, …, valueN)
• Print function uses string consisting of one
space character as separator
• Optionally change the separator to any string
we like with the sep argument
# All done
print bigword, bigcount
Escape Sequences
• Short sequences placed in strings
– Instruct cursor or permit some special characters
to be printed.
– First character is always a backslash (\).
• \t induces a horizontal tab
• \n induces a newline operation