Let’s Learn Python An introduction to Python
-
Upload
jaganadh-gopinadhan -
Category
Technology
-
view
1.532 -
download
7
description
Transcript of Let’s Learn Python An introduction to Python
Let’s Learn PythonAn introduction to Python
Jaganadh GProject Lead NLP R&D
365Media Pvt. [email protected]
KiTE, Coimbatore
19 July 2011
Jaganadh G Let’s Learn Python
Just a word about me !!
Working in Natural Language Processing (NLP), MachineLearning, Data Mining
Passionate about Free and Open source :-)
When gets free time teaches Python and blogs athttp://jaganadhg.freeflux.net/blog reviews books forPackt Publishers.
Works for 365Media Pvt. Ltd. Coimbatore India.
Member of Indian Python Software Society
Jaganadh G Let’s Learn Python
Python
Python is an easy to learn, powerful programminglanguage.
It has efficient high-level data structures and a simple buteffective approach to object-oriented programming.
Elegant syntax
Dynamic typing
Interpreted
Ideal for scripting and rapid application development
Developed by Guido Van Rossum
Free and Open Source
Jaganadh G Let’s Learn Python
Features of Python
Simple1 Python is a simple and minimalist language2 Reading a good Python program feels almost like
reading English
Easy to Learn1 Python is extremely easy to get started with2 Python has an extraordinarily simple syntax
Free and Open Source
High-level Language
Portable, You can use Python on1 Linux2 Microsoft Windows3 Macintosh4 ...........
Jaganadh G Let’s Learn Python
Features of Python
Interpreted
Object Oriented
Extensible
Embeddable
Batteries included
Jaganadh G Let’s Learn Python
Installing Python
If you are using a Linux distribution such as Fedora orUbuntu then you probably already have Python installedon your system.
To test it open a shell program like gnome-terminal orkonsole and enter the command python -V
If you are using windows - go tohttp://www.python.org/download/releases/2.7/ anddownloadhttp://www.python.org/ftp/python/2.7/python-2.7.msi.Then double click and install it.
You may need to set PATH variable in EnvironmentSettings
Jaganadh G Let’s Learn Python
Hello world !!!
Lets write a ”Hello world!!” program
Fire-up the terminal and invoke Python interpreter
Type print ”Hello World !!! ”
Jaganadh G Let’s Learn Python
Hello world !!!
#!/usr/bin/env python
#Just a Hello World !! program
print "Hello World!!"
You can write the code in you favorite editor, save andrun it.
Extension for the filename should be .py
Save it as hello.py and make it as executable !
#chmod +x hello.py
Run the program #python hello.py
Jaganadh G Let’s Learn Python
Using the Python Interpreter
The Python iterpreter can be used as a calculator !!
Jaganadh G Let’s Learn Python
Keywords
The following are keywords or reserved words in Python
These words can’t be used as variable names or functionnames or class names
and del for is raise assert elif from lambda return break elseglobal not try class except if or while continue exec importpass yield def finally in print
Jaganadh G Let’s Learn Python
Variables
age = 32year = 1997avg = 12.5
Note:
There is no need to specify the type as like in C or Java
Jaganadh G Let’s Learn Python
String
name = ”jagan”anname = ’jagan’annname = ”””jagan”””
Note:
There is no need to specify the type as like in C or Java
Jaganadh G Let’s Learn Python
Identifier Naming
IdentifiersIdentifiers are names given to identify something.Rules to follow for naming identifiers
1 The first character of the identifier must be a letter ofthe alphabet (upper or lowercase) or an underscore (’ ’).
2 The rest of the identifier name can consist of letters(upper or lowercase), underscores (’ ’) or digits (0-9).
3 Identifier names are case-sensitive. For example,myname andmyName are not the same. Note thelowercase n in the former and the uppercaseN in telatter.
4 Examples of valid identifier names arei, my name,name 23 and a1b c3 .
5 Examples of invalid identifier names are 2things, this isspaced out and my-name.
Jaganadh G Let’s Learn Python
Operators
+ Plus- Minus/ divide* Multiply
** Power// Floor Division% Modulo< Less than> Greater than
<= Less than or equal to>= Greater than equal to== Equal to
Jaganadh G Let’s Learn Python
Basic Math
! = Not equal tonot Boolian NOTand Boolian ANDor Boolian OR& Bitwise AND
Note:
Operator precedence is as same as of other programminglanguages
Jaganadh G Let’s Learn Python
Data Structure: List
A list is a data structure that holds an ordered collectionof items
fruits = [’apple’,’banana’,’orange’]
marks = [12,15,17]
avgs = [1.5, 4.5,7.8]
avgm = [1.5, 4.5,7.8,avgs]
lists are mutable
elemnts can be accessed by index numbers
either positive index or negative index can be used toaccess elements
Jaganadh G Let’s Learn Python
Data Structure: List
elemnts can be accessed by index numbers
fruits[0]
elements can be accessed with positive or negative index
avgs[-1]
new elements can be appended to a list
fruits.append(’cherry’)
list can be sorted or reversed
fruits.sort()
fruits.reverse()
length of a list can be identified by the ’len’ functionlen(fruits)
Jaganadh G Let’s Learn Python
Data Structure: List
elements can be deleted del fruits[0]
list can be sliced new list = fruits[1:3]
lists can be extendedflowers = [’rose’,’lilly’,’tulip’]fruits.extend(flowers)
the index method can be used to find index of an item ina listfruits.index(’apple’)
Jaganadh G Let’s Learn Python
Data Structure: List
The pop method removes an element from a listfruits.pop()
The remove method is used to remove the firstoccurrence of a value:flowers = [’rose’,’lilly’,’tulip’,’rose’]flowers.remove(’rose’)
The reverse method reverses the elements in the list.flowers.reverse()
The sort method is used to sort lists in placeflowers.sort()
Jaganadh G Let’s Learn Python
Data Structure: List
>>> numbers = [5, 2, 9, 7]
>>> numbers.sort(cmp)
>>> numbers
[2, 5, 7, 9]
>>> x = [’aardvark’, ’abalone’, ’acme’,\
’add’, ’aerate’]
>>> x.sort(key=len)
>>> x
[’add’, ’acme’, ’aerate’, ’abalone’, ’aardvark’]
>>> x = [4, 6, 2, 1, 7, 9]
>>> x.sort(reverse=True)
Jaganadh G Let’s Learn Python
Data Structure: Tuple
Tuples are sequences like lists .
The only difference is that tuples are immutable
Values in a tuple are enclosed in parentheses (())mytuple = (2,3,4,5,6,7,8)
Elements in a tuple can be accessed by index value
It is not possible to sort or reverse tuple
Jaganadh G Let’s Learn Python
Data Structure: Tuple
There is a way to sort and reverse tuple
atuple = (9,6,4,8,3,7,2)
sortuple = tuple(sorted(atuple))
revtuple = tuple((reversed(atuple))
Note:
A tuple can be converted to list and vice versa
tup = (1,2,3)
li = list(tup)
atup = tuple(li)
Jaganadh G Let’s Learn Python
Data Structure: Dictionary
Another useful data type built into Python is thedictionary
Dictionaries are sometimes found in other languages asassociative memories or associative arrays.
Dictionaries consist of pairs (called items) of keys andtheir corresponding values
phonebook = {’Alice’: ’2341’, ’Beth’: ’9102’,
’Cecil’: ’3258’}
phonebook[’Alice’] #’2341’
Jaganadh G Let’s Learn Python
Basic Dictionary Operations
len(d) returns the number of items (key-value pairs) in d
d = {’Alice’: ’2341’, ’Beth’: ’9102’, ’Cecil’: ’3258’}
len(d)
3
d[’Alice’] returns the value associated with the key k ie”2341”
d[’Alice’] = ’456’ associates the value ’456’ with the key’Alice’
del d[’Alice’] deletes the item with key ’Alice’
’Alice’ in d checks whether there is an item in d that hasthe key ’Alice’
Jaganadh G Let’s Learn Python
Data Structure: Dictionary
Key types: Dictionary keys dont have to be integers(though they may be). They may be any immutable type,such as floating-point (real) numbers, strings, or tuples.
Automatic addition: You can assign a value to a key, evenif that key isnt in the dictionary to begin with; in thatcase, a new item will be created. You cannot assign avalue to an index outside the lists range (without usingappend or something like that).
phonebook[’Ravi’] = ’567’
Membership: The expression k in d (where d is adictionary) looks for a key, not a value.
’Alice’ in phonebook
Jaganadh G Let’s Learn Python
Data Structure: Dictionary
All the keys in a dictionary can be accessed as a list
phonebook.keys()
[’Beth’, ’Alice’, ’Cecil’]
All the values in a dictionary can be accessed as a list
phonebook.values()
[’9102’, ’2341’, ’3258’]
The keys and values in a dictionary can be accessed as alist of tuples
phonebook.items()
[(’Beth’, ’9102’), (’Alice’, ’2341’),
(’Cecil’, ’3258’)]
Jaganadh G Let’s Learn Python
Control Flow:The if statement
The if statement is used to check a condition and if thecondition is true, we run a block of statements (called theif-block), else we process another block of statements (calledthe else-block). The else clause is optional.
if <test1>: #if test
<statement1> #associated block
elif <test2>: # Optional else if (elif)
<statement2>
else: #optional else
<statement3>
Jaganadh G Let’s Learn Python
Control Flow:The if statement
name = raw_input(""Enter your name: "")
if name == "trisha":
print "Hi trisha have you seen my chitti"
elif name == "aishwarya":
print "Hai Aishu have u seen my chitti"
else:
print "Oh!! my chitti !!!!"
Jaganadh G Let’s Learn Python
Control Flow:The while statement
The while statement allows you to repeatedly execute a blockof statements as long as a condition is true. A while statementis an example of what is called a looping statement. A whilestatement can have an optional else clause.The structure ofwhile loop is
while <test>:
<statement>
else:
<statement>
Jaganadh G Let’s Learn Python
Control Flow:The while statement
#!/usr/bin/python
a = 0
b = 10
while a < b:
print a
a += 1
#0123456789
Jaganadh G Let’s Learn Python
Control Flow:The for loop
The for..in statement is another looping statement whichiterates over a sequence of objects i.e. go through each itemin a sequence.
for <target> in <object>:
<statement>
else:
statement
Jaganadh G Let’s Learn Python
Control Flow:The for loop
#!/usr/bin/python
names = [’Jaganadh’,’Biju’,’Sreejith’,\
’Kenneth’,’Sundaram’]
for name in names:
print "Hello %s" %name
Jaganadh G Let’s Learn Python
Control Flow:The for loop
#!/usr/bin/python
for i in range(1, 5):
print i
else:
print ’The for loop is over’
Jaganadh G Let’s Learn Python
Control Flow: The break,continue and pass
statement
The break statement is used to break out of a loop statementi.e. stop the execution of a looping state-ment, even if theloop condition has not become False or the sequence of itemshas been completely iterated over.
while <test1>:
<statement>
if <test1>:break
else <test2>:continue
else:
<statement>
Jaganadh G Let’s Learn Python
Control Flow: continue
#Example for continue
x = 10
while x:
x = x -1
if x % 2 != 0: continue
print x
Jaganadh G Let’s Learn Python
Control Flow:break
#Example for break
while True:
s = raw_input(’Enter something : ’)
if s == ’quit’:
break
print ’Length of the string is’, len(s)
print ’Done’
Jaganadh G Let’s Learn Python
Control Flow:pass
#Example for pass
while 1:
pass
Jaganadh G Let’s Learn Python
Functions
Functions are reusable pieces of programs. They allow you togive a name to a block of statements and you can run thatblock using that name anywhere in your program and anynumber of times. This is known as calling the function.Defining Functions
def <name>(arg1,arg2,...argN):
<statement>
#!/usr/bin/python
# Filename: function1.py
def sayHello():
print ’Hello World!’
# End of function
sayHello() # call the function
Jaganadh G Let’s Learn Python
Functions with parameters
A function can take parameters which are just values yousupply to the function so that the function can do somethingutilising those values.
#!/usr/bin/python
# Filename: func_param.py
def printMax(a, b):
if a > b:
print a, ’is maximum’
else:
print b, ’is maximum’
printMax(3, 4) # directly give literal values
x = 5
y = 7
printMax(x, y)
Jaganadh G Let’s Learn Python
Functions: Using Keyword Arguments
#!/usr/bin/python
# Filename: func_key.py
def func(a, b=5, c=10):
print ’a is’, a, ’and b is’, b, ’and c is’, c
func(3, 7)
func(25, c=24)
func(c=50, a=100)
Jaganadh G Let’s Learn Python
Functions: Return Statement
#!/usr/bin/python
# Filename: func_return.py
def maximum(x, y):
if x > y:
return x
else:
return y
print maximum(2, 3)
Jaganadh G Let’s Learn Python
Functions: Arbitrary Arguments
def minimum(*args):
res = args[0]
for arg in args[1:]:
if arg < res:
res = arg
return res
print minimum(3,4,1,2,5)
Jaganadh G Let’s Learn Python
Functions: Arbitrary Arguments
def arbArg(**args):
print args
print arbArg(a=1,b=2,c=6)
#{’a’: 1, ’c’: 6, ’b’: 2}
Jaganadh G Let’s Learn Python
Object Oriented Programming
#!/usr/bin/python
# Filename: simplestclass.py
class Person:
pass # An empty block
p = Person()
print p
Jaganadh G Let’s Learn Python
Object Oriented Programming:Using Object
Methods
Class/objects can have methods just like functions except thatwe have an extra self variable.
class Person:
def sayHi(self):
print ’Hello, how are you?’
p = Person()
p.sayHi()
Jaganadh G Let’s Learn Python
Object Oriented Programming:The init
method
The init method is run as soon as an object of a class isinstantiated. The method is useful to do any initialization youwant to do with your object. Notice the double underscoreboth in the beginning and at the end in the name.
#!/usr/bin/python
# Filename: class_init.py
class Person:
def __init__(self, name):
self.name = name
def sayHi(self):
print ’Hello, my name is’, self.name
p = Person(’Jaganadh G’)
p.sayHi()Jaganadh G Let’s Learn Python
Object Oriented Programming:Class and
Object Variables
There are two types of fields - class variables and objectvariables which are classified depending on whether the classor the object owns the variables respectively.Class variables are shared in the sense that they are accessedby all objects (instances) of that class.There is only copy ofthe class variable and when any one object makes a change toa class variable, the change is reflected in all the otherinstances as well.Object variables are owned by each individual object/instanceof the class. In this case, each object has its own copy of thefield i.e. they are not shared and are not related in any way tothe field by the samen name in a different instance of thesame class.
Jaganadh G Let’s Learn Python
Object Oriented Programming:Class and
Object Variables
#!/usr/bin/python
# Filename: objvar.py
class Person:
’’’Represents a person.’’’
population = 0
def __init__(self, name):
’’’Initializes the person’s data.’’’
self.name = name
print ’(Initializing %s)’ % self.name
Person.population += 1
Jaganadh G Let’s Learn Python
Object Oriented Programming:Class and
Object Variables
def __del__(self):
’’’I am dying.’’’
print ’%s says bye.’ % self.name
Person.population -= 1
if Person.population == 0:
print ’I am the last one.’
else:
print ’There are still %d people left.’ \
% Person.population
def sayHi(self):
’’’Greeting by the person.
Really, that’s all it does.’’’
print ’Hi, my name is %s.’ % self.nameJaganadh G Let’s Learn Python
Object Oriented Programming:Class and
Object Variables
def howMany(self):
’’’Prints the current population.’’’
if Person.population == 1:
print ’I am the only person here.’
else:
print ’We have %d persons here.’\
% Person.population
swaroop = Person(’Swaroop’)
swaroop.sayHi()
swaroop.howMany()
kalam = Person(’Abdul Kalam’)
kalam.sayHi()
kalam.howMany()
swaroop.sayHi()
swaroop.howMany()
Jaganadh G Let’s Learn Python
Object Oriented Programming: Inheritance
#!/usr/bin/python
# Filename: inherit.py
class SchoolMember:
’’’Represents any school member.’’’
def __init__(self, name, age):
self.name = name
self.age = age
print ’(Initialized SchoolMember: %s)’\
% self.name
def tell(self):
’’’Tell my details.’’’
print ’Name:"%s" Age:"%s"’ % (self.name, \
self.age),
Jaganadh G Let’s Learn Python
Object Oriented Programming: Inheritance
class Teacher(SchoolMember):
’’’Represents a teacher.’’’
def __init__(self, name, age, salary):
SchoolMember.__init__(self, name, age)
self.salary = salary
print ’(Initialized Teacher: %s)’ % self.name
def tell(self):
SchoolMember.tell(self)
print ’Salary: "%d"’ % self.salary
Jaganadh G Let’s Learn Python
Object Oriented Programming: Inheritance
class Student(SchoolMember):
’’’Represents a student.’’’
def __init__(self, name, age, marks):
SchoolMember.__init__(self, name, age)
self.marks = marks
print ’(Initialized Student: %s)’ % self.name
def tell(self):
SchoolMember.tell(self)
print ’Marks: "%d"’ % self.marks
t = Teacher(’Mrs. Shrividya’, 40, 30000)
s = Student(’Swaroop’, 22, 75)
members = [t, s]
for member in members:
member.tell()
Jaganadh G Let’s Learn Python
Modules
A module is basically a file containing all your functions andvariables that you have defined. To reuse the module in otherprograms, the filename of the module must have a .pyextension.By using the import statement you can use built-in modules inPython
import sys , os
sys.argv[1]
os.name
os.curdir
import math
math.sqrt(9)
Jaganadh G Let’s Learn Python
I/O Operations
#File reading
myfile = open("help.txt",’r’)
filetext = myfile.read()
myfile.close()
#file reading 2
myfile = open("help.txt",’r’)
filetext = myfile.readlines()
myfile.close()
Jaganadh G Let’s Learn Python
I/O Operations
with open(help.txt, r) as f:
read_data = f.read()
#file writing
out = open(’out.txt’,’w’)
out.write("Hello out file")
out.close()
Jaganadh G Let’s Learn Python
Handling Exceptions
while True:
try:
x = int(raw_input("Please enter a number: "))
break
except ValueError:
print "Oops! That was no valid number.Try again"
Jaganadh G Let’s Learn Python
Handling Exceptions
import sys
try:
f = open(myfile.txt)
s = f.readline()
i = int(s.strip())
except IOError as (errno, strerror):
print "I/O error({0}): {1}".format(errno, strerror)
except ValueError:
print "Could not convert data to an integer."
except:
print "Unexpected error:", sys.exc_info()[0]
raise
Jaganadh G Let’s Learn Python
Questions ??
Jaganadh G Let’s Learn Python
Where can I post questions?
Search in the net . If nothing found
Post in forums
ILUGCBE http://ilugcbe.techstud.org
Jaganadh G Let’s Learn Python
References
A Byte of Python : Swaroop CH
Dive in to Python
Many wikibooks .............
Jaganadh G Let’s Learn Python
Finally
Jaganadh G Let’s Learn Python