SlideShare a Scribd company logo
Chapter 6
IoT Systems –
Logical Design using Python
Outline
• Introduction to Python
• Installing Python
• Python data types and data structures
• Control flow
• Functions
• Modules
• Packages
• File input/output
• Date/Time operations
• Classes
Python
• Python is a general-purpose high-level programming language suitable for providing a solid
foundation to the reader in the area of cloud computing.
The main characteristics of Python are:
• Multi-paradigm programming language
• Python supports more than one programming paradigm, including object-oriented programming and structured
programming
• Interpreted language
• Python is an interpreted language and does not require an explicit compilation step. The Python interpreter
executes the program source code directly, statement by statement, as a processor or scripting engine does.
• Interactive language
• Python provides an interactive mode in which the user can submit commands at the Python prompt and interact
with the interpreter directly.
Python – Benefits
• Easy-to-learn, read and maintain
• Python is a minimalistic language with relatively few keywords, uses English keywords and has fewer syntactical constructions
as compared to other languages. Reading Python programs feels like reading English with pseudocode-like constructs. Python
is easy to learn yet an extremely powerful language for a wide range of applications.
• Object and procedure oriented
• Python supports both procedure-oriented programming and object-oriented programming. Procedure-oriented paradigm
allows programs to be written around procedures or functions that allow reuse of code. Object-oriented paradigm allows
programs to be written around objects that include both data and functionality.
• Extendable
• Python is an extendable language and allows integration of low-level modules written in languages such as C/C++. This is useful
when you want to speed up a critical portion of a program.
• Scalable
• Due to the minimalistic nature of Python, it provides a manageable structure for large programs.
• Portable
• Since Python is an interpreted language, programmers do not have to worry about compilation, linking and loading of
programs. Python programs can be directly executed from the source.
• Broad library support
• Python has broad library support and works on various platforms such as Windows, Linux, Mac, etc.
Python – Setup
• Windows
• Python binaries for Windows can be downloaded from http://www.python.org/getit
• For the examples and exercise in this book, you would require Python 2.7 which can be downloaded directly from
http://www.python.org/ftp/python/2.7.5/python-2.7.5.msi
• Once the python binary is installed, you can run the python shell at the command prompt using
> python
• Linux
#Install Dependencies
sudo apt-get install build-essential
sudo apt-get install libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev
#Download Python
wget http://python.org/ftp/python/2.7.5/Python-2.7.5.tgz
tar -xvf Python-2.7.5.tgz
cd Python-2.7.5
#Install Python
./configure
make
sudo make install
Numbers
• Numbers
• The number data type is used to store numeric values. Numbers are immutable data types, therefore changing the value of a number
data type results in a newly allocated object.
#Integer
>>>a=5
>>>type(a)
<type ’int’>
#Floating Point
>>>b=2.5
>>>type(b)
<type ’float’>
#Long
>>>x=9898878787676L
>>>type(x)
<type ’long’>
#Complex
>>>y=2+5j
>>>y
(2+5j)
>>>type(y)
<type ’complex’>
>>>y.real
2
>>>y.imag
5
#Addition
>>>c=a+b
>>>c
7.5
>>>type(c)
<type ’float’>
#Subtraction
>>>d=a-b
>>>d
2.5
>>>type(d)
<type ’float’>
#Multiplication
>>>e=a*b
>>>e
12.5
>>>type(e)
<type ’float’>
#Division
>>>f=b/a
>>>f
0.5
>>>type(f)
<type float’>
#Power
>>>g=a**2
>>>g
25
Strings
• Strings
• A string is simply a list of characters in order. There are no limits to the number of characters you can have in a string.
#Create string
>>>s="Hello World!"
>>>type(s)
<type ’str’>
#String concatenation
>>>t="This is sample program."
>>>r = s+t
>>>r
’Hello World!This is sample program.’
#Get length of string
>>>len(s)
12
#Convert string to integer
>>>x="100"
>>>type(s)
<type ’str’>
>>>y=int(x)
>>>y
100
#Print string
>>>print s
Hello World!
#Formatting output
>>>print "The string (The string (Hello World!) has
12 characters
#Convert to upper/lower case
>>>s.upper()
’HELLO WORLD!’
>>>s.lower()
’hello world!’
#Accessing sub-strings
>>>s[0]
’H’
>>>s[6:]
’World!’
>>>s[6:-1]
’World’
#strip: Returns a copy of the string with the
#leading and trailing characters removed.
>>>s.strip("!")
’Hello World’
Lists
• Lists
• A list is a compound data type used to group together other values. List items need not all be of the same type. A list contains items
separated by commas and enclosed within square brackets.
#Create List
>>>fruits=[’apple’,’orange’,’banana’,’mango’]
>>>type(fruits)
<type ’list’>
#Get Length of List
>>>len(fruits)
4
#Access List Elements
>>>fruits[1]
’orange’
>>>fruits[1:3]
[’orange’, ’banana’]
>>>fruits[1:]
[’orange’, ’banana’, ’mango’]
#Appending an item to a list
>>>fruits.append(’pear’)
>>>fruits
[’apple’, ’orange’, ’banana’, ’mango’, ’pear’]
#Removing an item from a list
>>>fruits.remove(’mango’)
>>>fruits
[’apple’, ’orange’, ’banana’, ’pear’]
#Inserting an item to a list
>>>fruits.insert(1,’mango’)
>>>fruits
[’apple’, ’mango’, ’orange’, ’banana’, ’pear’]
#Combining lists
>>>vegetables=[’potato’,’carrot’,’onion’,’beans’,’r
adish’]
>>>vegetables
[’potato’, ’carrot’, ’onion’, ’beans’, ’radish’]
>>>eatables=fruits+vegetables
>>>eatables
[’apple’, ’mango’, ’orange’, ’banana’, ’pear’,
’potato’, ’carrot’, ’onion’, ’beans’, ’radish’]
#Mixed data types in a list
>>>mixed=[’data’,5,100.1,8287398L]
>>>type(mixed)
<type ’list’>
>>>type(mixed[0])
<type ’str’>
>>>type(mixed[1])
<type ’int’>
>>>type(mixed[2])
<type ’float’>
>>>type(mixed[3])
<type ’long’>
#Change individual elements of a list
>>>mixed[0]=mixed[0]+" items"
>>>mixed[1]=mixed[1]+1
>>>mixed[2]=mixed[2]+0.05
>>>mixed
[’data items’, 6, 100.14999999999999, 8287398L]
#Lists can be nested
>>>nested=[fruits,vegetables]
>>>nested
[[’apple’, ’mango’, ’orange’, ’banana’, ’pear’], [’potato’,
’carrot’, ’onion’, ’beans’, ’radish’]]
Tuples
• Tuples
• A tuple is a sequence data type that is similar to the list. A tuple consists of a number of values separated by commas and enclosed
within parentheses. Unlike lists, the elements of tuples cannot be changed, so tuples can be thought of as read-only lists.
#Create a Tuple
>>>fruits=("apple","mango","banana","pineapple")
>>>fruits
(’apple’, ’mango’, ’banana’, ’pineapple’)
>>>type(fruits)
<type ’tuple’>
#Get length of tuple
>>>len(fruits)
4
#Get an element from a tuple
>>>fruits[0]
’apple’
>>>fruits[:2]
(’apple’, ’mango’)
#Combining tuples
>>>vegetables=(’potato’,’carrot’,’onion’,’radish’)
>>>eatables=fruits+vegetables
>>>eatables
(’apple’, ’mango’, ’banana’, ’pineapple’, ’potato’, ’carrot’, ’onion’, ’radish’)
Dictionaries
• Dictionaries
• Dictionary is a mapping data type or a kind of hash table that maps keys to values. Keys in a dictionary can be of any data type, though
numbers and strings are commonly used. The values in a dictionary can be any data type or object.
#Create a dictionary
>>>student={’name’:’Mary’,’id’:’8776’,’major’:’CS’}
>>>student
{’major’: ’CS’, ’name’: ’Mary’, ’id’: ’8776’}
>>>type(student)
<type ’dict’>
#Get length of a dictionary
>>>len(student)
3
#Get the value of a key in dictionary
>>>student[’name’]
’Mary’
#Get all items in a dictionary
>>>student.items()
[(’gender’, ’female’), (’major’, ’CS’), (’name’, ’Mary’),
(’id’, ’8776’)]
#Get all keys in a dictionary
>>>student.keys()
[’gender’, ’major’, ’name’, ’id’]
#Get all values in a dictionary
>>>student.values()
[’female’, ’CS’, ’Mary’, ’8776’]
#Add new key-value pair
>>>student[’gender’]=’female’
>>>student
{’gender’: ’female’, ’major’: ’CS’, ’name’: ’Mary’, ’id’:
’8776’}
#A value in a dictionary can be another dictionary
>>>student1={’name’:’David’,’id’:’9876’,’major’:’ECE’}
>>>students={’1’: student,’2’:student1}
>>>students
{’1’: {’gender’: ’female’, ’major’: ’CS’, ’name’: ’Mary’, ’id’:
’8776’}, ’2’: {’
major’: ’ECE’, ’name’: ’David’, ’id’: ’9876’}}
#Check if dictionary has a key
>>>student.has_key(’name’)
True
>>>student.has_key(’grade’)
False
Type Conversions
#Convert to string
>>>a=10000
>>>str(a)
’10000’
#Convert to int
>>>b="2013"
>>>int(b)
2013
#Convert to float
>>>float(b)
2013.0
#Convert to long
>>>long(b)
2013L
#Convert to list
>>>s="aeiou"
>>>list(s)
[’a’, ’e’, ’i’, ’o’, ’u’]
#Convert to set
>>>x=[’mango’,’apple’,’banana’,’mango’,’banana’]
>>>set(x)
set([’mango’, ’apple’, ’banana’])
• Type conversion examples
Control Flow – if Statement
• The if statement in Python is similar to the if statement in other languages.
>>>a = 25**5
>>>if a>10000:
print "More"
else:
print "Less"
More
>>>s="Hello World"
>>>if "World" in s:
s=s+"!"
print s
Hello World!
>>>if a>10000:
if a<1000000:
print "Between 10k and 100k"
else:
print "More than 100k"
elif a==10000:
print "Equal to 10k"
else:
print "Less than 10k"
More than 100k
>>>student={’name’:’Mary’,’id’:’8776’}
>>>if not student.has_key(’major’):
student[’major’]=’CS’
>>>student
{’major’: ’CS’, ’name’: ’Mary’, ’id’: ’8776’}
Control Flow – for Statement
• The for statement in Python iterates over items of any sequence (list, string, etc.) in the order in which they
appear in the sequence.
• This behavior is different from the for statement in other languages such as C, in which initialization,
incrementing and stopping criteria are provided.
#Looping over characters in a string
helloString = "Hello World"
for c in helloString:
print c
#Looping over keys in a dictionary
student = ’name’: ’Mary’, ’id’: ’8776’,’gender’:
’female’, ’major’: ’CS’
for key in student:
print "%s: %s" % (key,student[key]
#Looping over items in a list
fruits=[’apple’,’orange’,’banana’,’mango’]
i=0
for item in fruits:
print "Fruit-%d: %s" % (i,item)
i=i+1
Control Flow – while Statement
• The while statement in Python executes the statements within the while loop as long as the condition is true.
#Prints even numbers upto 100
>>> i = 0
>>> while i<=100:
if i%2 == 0:
print i
i = i+1
Control Flow – range Statement
• The range statement in Python generates a list of numbers in arithmetic progression.
#Generate a list of numbers from 10 - 100 with increments
of 10
>>>range(10,110,10)
[10, 20, 30, 40, 50, 60, 70, 80, 90,100]
#Generate a list of numbers from 0 – 9
>>>range (10)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
Control Flow – break/continue Statements
• The break and continue statements in Python are similar to the statements in C.
• break
• The break statement breaks out of the for/while loop
• continue
• The continue statement continues with the next iteration.
#Continue statement example
>>>fruits=[’apple’,’orange’,’banana’,’mango’]
>>>for item in fruits:
if item == "banana":
continue
else:
print item
apple
orange
mango
#Break statement example
>>>y=1
>>>for x in range(4,256,4):
y = y * x
if y > 512:
break
print y
4
32
384
Control Flow – pass Statement
• The pass statement in Python is a null operation.
• The pass statement is used when a statement is required syntactically but you do not want any command or
code to execute.
>fruits=[’apple’,’orange’,’banana’,’mango’]
>for item in fruits:
if item == "banana":
pass
else:
print item
apple
orange
mango
Functions – Passing by Reference
• All parameters in Python functions are passed by reference.
• If a parameter is changed within a function, the change is also reflected in the calling function.
>>>def displayFruits(fruits):
print "There are %d fruits in the list" % (len(fruits))
for item in fruits:
print item
print "Adding one more fruit"
fruits.append('mango')
>>>fruits = ['banana', 'pear', 'apple']
>>>displayFruits(fruits)
There are 3 fruits in the list
banana
pear
apple
#Adding one more fruit
>>>print "There are %d fruits in the list" % (len(fruits))
There are 4 fruits in the list

More Related Content

PPTX
BUILDING IoT WITH ARDUINO & RASPBERRY PI
PDF
Programming RPi for IoT Applications.pdf
PPTX
FIot_Unit-3 fundAMENTALS OF IOT BASICS.pptx
PDF
Chapter-6.pdf
PPTX
Programming
PDF
Chapter 6
PPTX
PYTHON INTERNSHIP PPT download free.pptx
PPTX
Python-The programming Language
BUILDING IoT WITH ARDUINO & RASPBERRY PI
Programming RPi for IoT Applications.pdf
FIot_Unit-3 fundAMENTALS OF IOT BASICS.pptx
Chapter-6.pdf
Programming
Chapter 6
PYTHON INTERNSHIP PPT download free.pptx
Python-The programming Language

Similar to IoT Heaps 4 (20)

PPTX
Datatypes python programming
PDF
Python indroduction
 
PPTX
Python- Basic. pptx with lists, tuples dictionaries and data types
PPTX
Python- Basic.pptx with data types, lists, and tuples with dictionary
PPTX
Python programming basic Presentation.pptx
PPTX
PDF
Introduction to python
PPTX
python presntation 2.pptx
PDF
To get the notes of python of MCA batchs
PPTX
Introduction_to_Python_Presentation.pptx
PPTX
Introduction_to_Python_Presentation.pptx
PPTX
Python Conditional and Looping statements.pptx
PPTX
python_module_.................................................................
PPTX
Introduction to Python 01-08-2023.pon by everyone else. . Hence, they must be...
PPTX
Integrating Python with SQL (12345).pptx
PDF
ppt_pspp.pdf
PPTX
1664611760basics-of-python-for begainer1 (3).pptx
PPTX
Python.pptx
PPTX
2024-25 TYBSC(CS)-PYTHON_PROG_ControlStructure.pptx
PPTX
Python-Basics.pptx
Datatypes python programming
Python indroduction
 
Python- Basic. pptx with lists, tuples dictionaries and data types
Python- Basic.pptx with data types, lists, and tuples with dictionary
Python programming basic Presentation.pptx
Introduction to python
python presntation 2.pptx
To get the notes of python of MCA batchs
Introduction_to_Python_Presentation.pptx
Introduction_to_Python_Presentation.pptx
Python Conditional and Looping statements.pptx
python_module_.................................................................
Introduction to Python 01-08-2023.pon by everyone else. . Hence, they must be...
Integrating Python with SQL (12345).pptx
ppt_pspp.pdf
1664611760basics-of-python-for begainer1 (3).pptx
Python.pptx
2024-25 TYBSC(CS)-PYTHON_PROG_ControlStructure.pptx
Python-Basics.pptx
Ad

More from SushrutaMishra1 (6)

PPTX
Machine learning in disease diagnosis
PPTX
IoT Heaps 6
PPTX
IoT Heaps 5
PPTX
IoT Heaps 3
PPTX
IoT Heap 2
PPTX
IoT heap 1
Machine learning in disease diagnosis
IoT Heaps 6
IoT Heaps 5
IoT Heaps 3
IoT Heap 2
IoT heap 1
Ad

Recently uploaded (20)

PDF
Sports Quiz easy sports quiz sports quiz
PPTX
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
PPTX
Institutional Correction lecture only . . .
PDF
VCE English Exam - Section C Student Revision Booklet
PDF
TR - Agricultural Crops Production NC III.pdf
PDF
Computing-Curriculum for Schools in Ghana
PPTX
Microbial diseases, their pathogenesis and prophylaxis
PPTX
Pharmacology of Heart Failure /Pharmacotherapy of CHF
PDF
RMMM.pdf make it easy to upload and study
PDF
Microbial disease of the cardiovascular and lymphatic systems
PPTX
Final Presentation General Medicine 03-08-2024.pptx
PDF
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
PDF
Supply Chain Operations Speaking Notes -ICLT Program
PDF
Physiotherapy_for_Respiratory_and_Cardiac_Problems WEBBER.pdf
PDF
STATICS OF THE RIGID BODIES Hibbelers.pdf
PDF
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
PDF
Abdominal Access Techniques with Prof. Dr. R K Mishra
PPTX
1st Inaugural Professorial Lecture held on 19th February 2020 (Governance and...
PPTX
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
PDF
Pre independence Education in Inndia.pdf
Sports Quiz easy sports quiz sports quiz
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
Institutional Correction lecture only . . .
VCE English Exam - Section C Student Revision Booklet
TR - Agricultural Crops Production NC III.pdf
Computing-Curriculum for Schools in Ghana
Microbial diseases, their pathogenesis and prophylaxis
Pharmacology of Heart Failure /Pharmacotherapy of CHF
RMMM.pdf make it easy to upload and study
Microbial disease of the cardiovascular and lymphatic systems
Final Presentation General Medicine 03-08-2024.pptx
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
Supply Chain Operations Speaking Notes -ICLT Program
Physiotherapy_for_Respiratory_and_Cardiac_Problems WEBBER.pdf
STATICS OF THE RIGID BODIES Hibbelers.pdf
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
Abdominal Access Techniques with Prof. Dr. R K Mishra
1st Inaugural Professorial Lecture held on 19th February 2020 (Governance and...
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
Pre independence Education in Inndia.pdf

IoT Heaps 4

  • 1. Chapter 6 IoT Systems – Logical Design using Python
  • 2. Outline • Introduction to Python • Installing Python • Python data types and data structures • Control flow • Functions • Modules • Packages • File input/output • Date/Time operations • Classes
  • 3. Python • Python is a general-purpose high-level programming language suitable for providing a solid foundation to the reader in the area of cloud computing. The main characteristics of Python are: • Multi-paradigm programming language • Python supports more than one programming paradigm, including object-oriented programming and structured programming • Interpreted language • Python is an interpreted language and does not require an explicit compilation step. The Python interpreter executes the program source code directly, statement by statement, as a processor or scripting engine does. • Interactive language • Python provides an interactive mode in which the user can submit commands at the Python prompt and interact with the interpreter directly.
  • 4. Python – Benefits • Easy-to-learn, read and maintain • Python is a minimalistic language with relatively few keywords, uses English keywords and has fewer syntactical constructions as compared to other languages. Reading Python programs feels like reading English with pseudocode-like constructs. Python is easy to learn yet an extremely powerful language for a wide range of applications. • Object and procedure oriented • Python supports both procedure-oriented programming and object-oriented programming. Procedure-oriented paradigm allows programs to be written around procedures or functions that allow reuse of code. Object-oriented paradigm allows programs to be written around objects that include both data and functionality. • Extendable • Python is an extendable language and allows integration of low-level modules written in languages such as C/C++. This is useful when you want to speed up a critical portion of a program. • Scalable • Due to the minimalistic nature of Python, it provides a manageable structure for large programs. • Portable • Since Python is an interpreted language, programmers do not have to worry about compilation, linking and loading of programs. Python programs can be directly executed from the source. • Broad library support • Python has broad library support and works on various platforms such as Windows, Linux, Mac, etc.
  • 5. Python – Setup • Windows • Python binaries for Windows can be downloaded from http://www.python.org/getit • For the examples and exercise in this book, you would require Python 2.7 which can be downloaded directly from http://www.python.org/ftp/python/2.7.5/python-2.7.5.msi • Once the python binary is installed, you can run the python shell at the command prompt using > python • Linux #Install Dependencies sudo apt-get install build-essential sudo apt-get install libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev #Download Python wget http://python.org/ftp/python/2.7.5/Python-2.7.5.tgz tar -xvf Python-2.7.5.tgz cd Python-2.7.5 #Install Python ./configure make sudo make install
  • 6. Numbers • Numbers • The number data type is used to store numeric values. Numbers are immutable data types, therefore changing the value of a number data type results in a newly allocated object. #Integer >>>a=5 >>>type(a) <type ’int’> #Floating Point >>>b=2.5 >>>type(b) <type ’float’> #Long >>>x=9898878787676L >>>type(x) <type ’long’> #Complex >>>y=2+5j >>>y (2+5j) >>>type(y) <type ’complex’> >>>y.real 2 >>>y.imag 5 #Addition >>>c=a+b >>>c 7.5 >>>type(c) <type ’float’> #Subtraction >>>d=a-b >>>d 2.5 >>>type(d) <type ’float’> #Multiplication >>>e=a*b >>>e 12.5 >>>type(e) <type ’float’> #Division >>>f=b/a >>>f 0.5 >>>type(f) <type float’> #Power >>>g=a**2 >>>g 25
  • 7. Strings • Strings • A string is simply a list of characters in order. There are no limits to the number of characters you can have in a string. #Create string >>>s="Hello World!" >>>type(s) <type ’str’> #String concatenation >>>t="This is sample program." >>>r = s+t >>>r ’Hello World!This is sample program.’ #Get length of string >>>len(s) 12 #Convert string to integer >>>x="100" >>>type(s) <type ’str’> >>>y=int(x) >>>y 100 #Print string >>>print s Hello World! #Formatting output >>>print "The string (The string (Hello World!) has 12 characters #Convert to upper/lower case >>>s.upper() ’HELLO WORLD!’ >>>s.lower() ’hello world!’ #Accessing sub-strings >>>s[0] ’H’ >>>s[6:] ’World!’ >>>s[6:-1] ’World’ #strip: Returns a copy of the string with the #leading and trailing characters removed. >>>s.strip("!") ’Hello World’
  • 8. Lists • Lists • A list is a compound data type used to group together other values. List items need not all be of the same type. A list contains items separated by commas and enclosed within square brackets. #Create List >>>fruits=[’apple’,’orange’,’banana’,’mango’] >>>type(fruits) <type ’list’> #Get Length of List >>>len(fruits) 4 #Access List Elements >>>fruits[1] ’orange’ >>>fruits[1:3] [’orange’, ’banana’] >>>fruits[1:] [’orange’, ’banana’, ’mango’] #Appending an item to a list >>>fruits.append(’pear’) >>>fruits [’apple’, ’orange’, ’banana’, ’mango’, ’pear’] #Removing an item from a list >>>fruits.remove(’mango’) >>>fruits [’apple’, ’orange’, ’banana’, ’pear’] #Inserting an item to a list >>>fruits.insert(1,’mango’) >>>fruits [’apple’, ’mango’, ’orange’, ’banana’, ’pear’] #Combining lists >>>vegetables=[’potato’,’carrot’,’onion’,’beans’,’r adish’] >>>vegetables [’potato’, ’carrot’, ’onion’, ’beans’, ’radish’] >>>eatables=fruits+vegetables >>>eatables [’apple’, ’mango’, ’orange’, ’banana’, ’pear’, ’potato’, ’carrot’, ’onion’, ’beans’, ’radish’] #Mixed data types in a list >>>mixed=[’data’,5,100.1,8287398L] >>>type(mixed) <type ’list’> >>>type(mixed[0]) <type ’str’> >>>type(mixed[1]) <type ’int’> >>>type(mixed[2]) <type ’float’> >>>type(mixed[3]) <type ’long’> #Change individual elements of a list >>>mixed[0]=mixed[0]+" items" >>>mixed[1]=mixed[1]+1 >>>mixed[2]=mixed[2]+0.05 >>>mixed [’data items’, 6, 100.14999999999999, 8287398L] #Lists can be nested >>>nested=[fruits,vegetables] >>>nested [[’apple’, ’mango’, ’orange’, ’banana’, ’pear’], [’potato’, ’carrot’, ’onion’, ’beans’, ’radish’]]
  • 9. Tuples • Tuples • A tuple is a sequence data type that is similar to the list. A tuple consists of a number of values separated by commas and enclosed within parentheses. Unlike lists, the elements of tuples cannot be changed, so tuples can be thought of as read-only lists. #Create a Tuple >>>fruits=("apple","mango","banana","pineapple") >>>fruits (’apple’, ’mango’, ’banana’, ’pineapple’) >>>type(fruits) <type ’tuple’> #Get length of tuple >>>len(fruits) 4 #Get an element from a tuple >>>fruits[0] ’apple’ >>>fruits[:2] (’apple’, ’mango’) #Combining tuples >>>vegetables=(’potato’,’carrot’,’onion’,’radish’) >>>eatables=fruits+vegetables >>>eatables (’apple’, ’mango’, ’banana’, ’pineapple’, ’potato’, ’carrot’, ’onion’, ’radish’)
  • 10. Dictionaries • Dictionaries • Dictionary is a mapping data type or a kind of hash table that maps keys to values. Keys in a dictionary can be of any data type, though numbers and strings are commonly used. The values in a dictionary can be any data type or object. #Create a dictionary >>>student={’name’:’Mary’,’id’:’8776’,’major’:’CS’} >>>student {’major’: ’CS’, ’name’: ’Mary’, ’id’: ’8776’} >>>type(student) <type ’dict’> #Get length of a dictionary >>>len(student) 3 #Get the value of a key in dictionary >>>student[’name’] ’Mary’ #Get all items in a dictionary >>>student.items() [(’gender’, ’female’), (’major’, ’CS’), (’name’, ’Mary’), (’id’, ’8776’)] #Get all keys in a dictionary >>>student.keys() [’gender’, ’major’, ’name’, ’id’] #Get all values in a dictionary >>>student.values() [’female’, ’CS’, ’Mary’, ’8776’] #Add new key-value pair >>>student[’gender’]=’female’ >>>student {’gender’: ’female’, ’major’: ’CS’, ’name’: ’Mary’, ’id’: ’8776’} #A value in a dictionary can be another dictionary >>>student1={’name’:’David’,’id’:’9876’,’major’:’ECE’} >>>students={’1’: student,’2’:student1} >>>students {’1’: {’gender’: ’female’, ’major’: ’CS’, ’name’: ’Mary’, ’id’: ’8776’}, ’2’: {’ major’: ’ECE’, ’name’: ’David’, ’id’: ’9876’}} #Check if dictionary has a key >>>student.has_key(’name’) True >>>student.has_key(’grade’) False
  • 11. Type Conversions #Convert to string >>>a=10000 >>>str(a) ’10000’ #Convert to int >>>b="2013" >>>int(b) 2013 #Convert to float >>>float(b) 2013.0 #Convert to long >>>long(b) 2013L #Convert to list >>>s="aeiou" >>>list(s) [’a’, ’e’, ’i’, ’o’, ’u’] #Convert to set >>>x=[’mango’,’apple’,’banana’,’mango’,’banana’] >>>set(x) set([’mango’, ’apple’, ’banana’]) • Type conversion examples
  • 12. Control Flow – if Statement • The if statement in Python is similar to the if statement in other languages. >>>a = 25**5 >>>if a>10000: print "More" else: print "Less" More >>>s="Hello World" >>>if "World" in s: s=s+"!" print s Hello World! >>>if a>10000: if a<1000000: print "Between 10k and 100k" else: print "More than 100k" elif a==10000: print "Equal to 10k" else: print "Less than 10k" More than 100k >>>student={’name’:’Mary’,’id’:’8776’} >>>if not student.has_key(’major’): student[’major’]=’CS’ >>>student {’major’: ’CS’, ’name’: ’Mary’, ’id’: ’8776’}
  • 13. Control Flow – for Statement • The for statement in Python iterates over items of any sequence (list, string, etc.) in the order in which they appear in the sequence. • This behavior is different from the for statement in other languages such as C, in which initialization, incrementing and stopping criteria are provided. #Looping over characters in a string helloString = "Hello World" for c in helloString: print c #Looping over keys in a dictionary student = ’name’: ’Mary’, ’id’: ’8776’,’gender’: ’female’, ’major’: ’CS’ for key in student: print "%s: %s" % (key,student[key] #Looping over items in a list fruits=[’apple’,’orange’,’banana’,’mango’] i=0 for item in fruits: print "Fruit-%d: %s" % (i,item) i=i+1
  • 14. Control Flow – while Statement • The while statement in Python executes the statements within the while loop as long as the condition is true. #Prints even numbers upto 100 >>> i = 0 >>> while i<=100: if i%2 == 0: print i i = i+1
  • 15. Control Flow – range Statement • The range statement in Python generates a list of numbers in arithmetic progression. #Generate a list of numbers from 10 - 100 with increments of 10 >>>range(10,110,10) [10, 20, 30, 40, 50, 60, 70, 80, 90,100] #Generate a list of numbers from 0 – 9 >>>range (10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
  • 16. Control Flow – break/continue Statements • The break and continue statements in Python are similar to the statements in C. • break • The break statement breaks out of the for/while loop • continue • The continue statement continues with the next iteration. #Continue statement example >>>fruits=[’apple’,’orange’,’banana’,’mango’] >>>for item in fruits: if item == "banana": continue else: print item apple orange mango #Break statement example >>>y=1 >>>for x in range(4,256,4): y = y * x if y > 512: break print y 4 32 384
  • 17. Control Flow – pass Statement • The pass statement in Python is a null operation. • The pass statement is used when a statement is required syntactically but you do not want any command or code to execute. >fruits=[’apple’,’orange’,’banana’,’mango’] >for item in fruits: if item == "banana": pass else: print item apple orange mango
  • 18. Functions – Passing by Reference • All parameters in Python functions are passed by reference. • If a parameter is changed within a function, the change is also reflected in the calling function. >>>def displayFruits(fruits): print "There are %d fruits in the list" % (len(fruits)) for item in fruits: print item print "Adding one more fruit" fruits.append('mango') >>>fruits = ['banana', 'pear', 'apple'] >>>displayFruits(fruits) There are 3 fruits in the list banana pear apple #Adding one more fruit >>>print "There are %d fruits in the list" % (len(fruits)) There are 4 fruits in the list