SlideShare a Scribd company logo
1 of 62
Download to read offline
Let’s Learn Python
An introduction to Python
Jaganadh G
Project Lead NLP R&D
365Media Pvt. Ltd.
jaganadhg@gmail.com
KiTE, Coimbatore
19 July 2011
Jaganadh G Let’s Learn Python
Just a word about me !!
Working in Natural Language Processing (NLP), Machine
Learning, Data Mining
Passionate about Free and Open source :-)
When gets free time teaches Python and blogs at
http://jaganadhg.freeflux.net/blog reviews books for
Packt 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 programming
language.
It has efficient high-level data structures and a simple but
effective 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
Simple
1 Python is a simple and minimalist language
2 Reading a good Python program feels almost like
reading English
Easy to Learn
1 Python is extremely easy to get started with
2 Python has an extraordinarily simple syntax
Free and Open Source
High-level Language
Portable, You can use Python on
1 Linux
2 Microsoft Windows
3 Macintosh
4 ...........
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 or
Ubuntu then you probably already have Python installed
on your system.
To test it open a shell program like gnome-terminal or
konsole and enter the command python -V
If you are using windows - go to
http://www.python.org/download/releases/2.7/ and
download
http://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 Environment
Settings
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 and
run 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 function
names or class names
and del for is raise assert elif from lambda return break else
global not try class except if or while continue exec import
pass yield def finally in print
Jaganadh G Let’s Learn Python
Variables
age = 32
year = 1997
avg = 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
Identifiers
Identifiers are names given to identify something.
Rules to follow for naming identifiers
1 The first character of the identifier must be a letter of
the 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 the
lowercase n in the former and the uppercaseN in te
latter.
4 Examples of valid identifier names arei, my name,
name 23 and a1b c3 .
5 Examples of invalid identifier names are 2things, this is
spaced 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 to
not Boolian NOT
and Boolian AND
or Boolian OR
& Bitwise AND
Note:
Operator precedence is as same as of other programming
languages
Jaganadh G Let’s Learn Python
Data Structure: List
A list is a data structure that holds an ordered collection
of 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 to
access 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’ function
len(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 extended
flowers = [’rose’,’lilly’,’tulip’]
fruits.extend(flowers)
the index method can be used to find index of an item in
a list
fruits.index(’apple’)
Jaganadh G Let’s Learn Python
Data Structure: List
The pop method removes an element from a list
fruits.pop()
The remove method is used to remove the first
occurrence 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 place
flowers.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 the
dictionary
Dictionaries are sometimes found in other languages as
associative memories or associative arrays.
Dictionaries consist of pairs (called items) of keys and
their 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’: ’325
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 has
the 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, even
if that key isnt in the dictionary to begin with; in that
case, a new item will be created. You cannot assign a
value to an index outside the lists range (without using
append or something like that).
phonebook[’Ravi’] = ’567’
Membership: The expression k in d (where d is a
dictionary) 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 a
list 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 the
condition is true, we run a block of statements (called the
if-block), else we process another block of statements (called
the 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 block
of statements as long as a condition is true. A while statement
is an example of what is called a looping statement. A while
statement can have an optional else clause.The structure of
while 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 which
iterates over a sequence of objects i.e. go through each item
in 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 statement
i.e. stop the execution of a looping state-ment, even if the
loop condition has not become False or the sequence of items
has 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 to
give a name to a block of statements and you can run that
block using that name anywhere in your program and any
number 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 you
supply to the function so that the function can do something
utilising 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 that
we 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 is
instantiated. The method is useful to do any initialization you
want to do with your object. Notice the double underscore
both 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 object
variables which are classified depending on whether the class
or the object owns the variables respectively.
Class variables are shared in the sense that they are accessed
by all objects (instances) of that class.There is only copy of
the class variable and when any one object makes a change to
a class variable, the change is reflected in all the other
instances as well.
Object variables are owned by each individual object/instance
of the class. In this case, each object has its own copy of the
field i.e. they are not shared and are not related in any way to
the field by the samen name in a different instance of the
same 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.name
Jaganadh 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()
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 and
variables that you have defined. To reuse the module in other
programs, the filename of the module must have a .py
extension.
By using the import statement you can use built-in modules in
Python
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

More Related Content

What's hot

Linked to ArrayList: the full story
Linked to ArrayList: the full storyLinked to ArrayList: the full story
Linked to ArrayList: the full storyJosé Paumard
 
Introduction to Python - Part Two
Introduction to Python - Part TwoIntroduction to Python - Part Two
Introduction to Python - Part Twoamiable_indian
 
Introduction to Python - Part Three
Introduction to Python - Part ThreeIntroduction to Python - Part Three
Introduction to Python - Part Threeamiable_indian
 
The Sincerest Form of Flattery
The Sincerest Form of FlatteryThe Sincerest Form of Flattery
The Sincerest Form of FlatteryJosé Paumard
 
Annotation based null analysis in Eclipse JDT
Annotation based null analysis in Eclipse JDTAnnotation based null analysis in Eclipse JDT
Annotation based null analysis in Eclipse JDTEclipse Day India
 
Python Advanced – Building on the foundation
Python Advanced – Building on the foundationPython Advanced – Building on the foundation
Python Advanced – Building on the foundationKevlin Henney
 
Fundamentals of Python Programming
Fundamentals of Python ProgrammingFundamentals of Python Programming
Fundamentals of Python ProgrammingKamal Acharya
 
Learn Python The Hard Way Presentation
Learn Python The Hard Way PresentationLearn Python The Hard Way Presentation
Learn Python The Hard Way PresentationAmira ElSharkawy
 
Introduction to Python
Introduction to Python Introduction to Python
Introduction to Python amiable_indian
 
Python Foundation – A programmer's introduction to Python concepts & style
Python Foundation – A programmer's introduction to Python concepts & stylePython Foundation – A programmer's introduction to Python concepts & style
Python Foundation – A programmer's introduction to Python concepts & styleKevlin Henney
 
Artificial intelligence Prolog Language
Artificial intelligence Prolog LanguageArtificial intelligence Prolog Language
Artificial intelligence Prolog LanguageREHMAT ULLAH
 
Python Interview Questions And Answers 2019 | Edureka
Python Interview Questions And Answers 2019 | EdurekaPython Interview Questions And Answers 2019 | Edureka
Python Interview Questions And Answers 2019 | EdurekaEdureka!
 
Java 8 Streams and Rx Java Comparison
Java 8 Streams and Rx Java ComparisonJava 8 Streams and Rx Java Comparison
Java 8 Streams and Rx Java ComparisonJosé Paumard
 
Functions, List and String methods
Functions, List and String methodsFunctions, List and String methods
Functions, List and String methodsPranavSB
 
Functions and modules in python
Functions and modules in pythonFunctions and modules in python
Functions and modules in pythonKarin Lagesen
 

What's hot (20)

Linked to ArrayList: the full story
Linked to ArrayList: the full storyLinked to ArrayList: the full story
Linked to ArrayList: the full story
 
Introduction to Python - Part Two
Introduction to Python - Part TwoIntroduction to Python - Part Two
Introduction to Python - Part Two
 
Introduction to Python - Part Three
Introduction to Python - Part ThreeIntroduction to Python - Part Three
Introduction to Python - Part Three
 
The Sincerest Form of Flattery
The Sincerest Form of FlatteryThe Sincerest Form of Flattery
The Sincerest Form of Flattery
 
Annotation based null analysis in Eclipse JDT
Annotation based null analysis in Eclipse JDTAnnotation based null analysis in Eclipse JDT
Annotation based null analysis in Eclipse JDT
 
Pythonppt28 11-18
Pythonppt28 11-18Pythonppt28 11-18
Pythonppt28 11-18
 
Python Advanced – Building on the foundation
Python Advanced – Building on the foundationPython Advanced – Building on the foundation
Python Advanced – Building on the foundation
 
Free your lambdas
Free your lambdasFree your lambdas
Free your lambdas
 
Fundamentals of Python Programming
Fundamentals of Python ProgrammingFundamentals of Python Programming
Fundamentals of Python Programming
 
Learn Python The Hard Way Presentation
Learn Python The Hard Way PresentationLearn Python The Hard Way Presentation
Learn Python The Hard Way Presentation
 
Introduction to Python
Introduction to Python Introduction to Python
Introduction to Python
 
Python Foundation – A programmer's introduction to Python concepts & style
Python Foundation – A programmer's introduction to Python concepts & stylePython Foundation – A programmer's introduction to Python concepts & style
Python Foundation – A programmer's introduction to Python concepts & style
 
Mcq ppt Php- array
Mcq ppt Php- array Mcq ppt Php- array
Mcq ppt Php- array
 
Artificial intelligence Prolog Language
Artificial intelligence Prolog LanguageArtificial intelligence Prolog Language
Artificial intelligence Prolog Language
 
Python Interview Questions And Answers 2019 | Edureka
Python Interview Questions And Answers 2019 | EdurekaPython Interview Questions And Answers 2019 | Edureka
Python Interview Questions And Answers 2019 | Edureka
 
Java 8 Streams and Rx Java Comparison
Java 8 Streams and Rx Java ComparisonJava 8 Streams and Rx Java Comparison
Java 8 Streams and Rx Java Comparison
 
Functions, List and String methods
Functions, List and String methodsFunctions, List and String methods
Functions, List and String methods
 
Programming with Python
Programming with PythonProgramming with Python
Programming with Python
 
Easy R
Easy REasy R
Easy R
 
Functions and modules in python
Functions and modules in pythonFunctions and modules in python
Functions and modules in python
 

Viewers also liked

What is Python? An overview of Python for science.
What is Python? An overview of Python for science.What is Python? An overview of Python for science.
What is Python? An overview of Python for science.Nicholas Pringle
 
Intro Python
Intro PythonIntro Python
Intro PythonMoreLab
 
Mugges toulouse space show
Mugges   toulouse space showMugges   toulouse space show
Mugges toulouse space showMoreLab
 
A Hybrid and Semantic Location Management System for Mobile User Generated Ge...
A Hybrid and Semantic Location Management System for Mobile User Generated Ge...A Hybrid and Semantic Location Management System for Mobile User Generated Ge...
A Hybrid and Semantic Location Management System for Mobile User Generated Ge...MoreLab
 
Elder care icost2010
Elder care icost2010Elder care icost2010
Elder care icost2010MoreLab
 
Taller Rich Internet Application
Taller Rich Internet ApplicationTaller Rich Internet Application
Taller Rich Internet ApplicationMoreLab
 
SPARQL/RDQL/SPARUL Injection
SPARQL/RDQL/SPARUL InjectionSPARQL/RDQL/SPARUL Injection
SPARQL/RDQL/SPARUL InjectionMoreLab
 
Curso AOP
Curso AOPCurso AOP
Curso AOPMoreLab
 

Viewers also liked (8)

What is Python? An overview of Python for science.
What is Python? An overview of Python for science.What is Python? An overview of Python for science.
What is Python? An overview of Python for science.
 
Intro Python
Intro PythonIntro Python
Intro Python
 
Mugges toulouse space show
Mugges   toulouse space showMugges   toulouse space show
Mugges toulouse space show
 
A Hybrid and Semantic Location Management System for Mobile User Generated Ge...
A Hybrid and Semantic Location Management System for Mobile User Generated Ge...A Hybrid and Semantic Location Management System for Mobile User Generated Ge...
A Hybrid and Semantic Location Management System for Mobile User Generated Ge...
 
Elder care icost2010
Elder care icost2010Elder care icost2010
Elder care icost2010
 
Taller Rich Internet Application
Taller Rich Internet ApplicationTaller Rich Internet Application
Taller Rich Internet Application
 
SPARQL/RDQL/SPARUL Injection
SPARQL/RDQL/SPARUL InjectionSPARQL/RDQL/SPARUL Injection
SPARQL/RDQL/SPARUL Injection
 
Curso AOP
Curso AOPCurso AOP
Curso AOP
 

Similar to Introduction to python

python programming for beginners and advanced
python programming for beginners and advancedpython programming for beginners and advanced
python programming for beginners and advancedgranjith6
 
Introduction to Python 01-08-2023.pon by everyone else. . Hence, they must be...
Introduction to Python 01-08-2023.pon by everyone else. . Hence, they must be...Introduction to Python 01-08-2023.pon by everyone else. . Hence, they must be...
Introduction to Python 01-08-2023.pon by everyone else. . Hence, they must be...DRVaibhavmeshram1
 
Python for scientific computing
Python for scientific computingPython for scientific computing
Python for scientific computingGo Asgard
 
Python Novice to Ninja
Python Novice to NinjaPython Novice to Ninja
Python Novice to NinjaAl Sayed Gamal
 
Learn 90% of Python in 90 Minutes
Learn 90% of Python in 90 MinutesLearn 90% of Python in 90 Minutes
Learn 90% of Python in 90 MinutesMatt Harrison
 
Python Interview Questions | Python Interview Questions And Answers | Python ...
Python Interview Questions | Python Interview Questions And Answers | Python ...Python Interview Questions | Python Interview Questions And Answers | Python ...
Python Interview Questions | Python Interview Questions And Answers | Python ...Simplilearn
 
Python (Data Analysis) cleaning and visualize
Python (Data Analysis) cleaning and visualizePython (Data Analysis) cleaning and visualize
Python (Data Analysis) cleaning and visualizeIruolagbePius
 
Python bible
Python biblePython bible
Python bibleadarsh j
 
Improve Your Edge on Machine Learning - Day 1.pptx
Improve Your Edge on Machine Learning - Day 1.pptxImprove Your Edge on Machine Learning - Day 1.pptx
Improve Your Edge on Machine Learning - Day 1.pptxCatherineVania1
 
File handling in pythan.pptx
File handling in pythan.pptxFile handling in pythan.pptx
File handling in pythan.pptxNawalKishore38
 
Basic of Python- Hands on Session
Basic of Python- Hands on SessionBasic of Python- Hands on Session
Basic of Python- Hands on SessionDharmesh Tank
 
Python_Haegl.powerpoint presentation. tx
Python_Haegl.powerpoint presentation. txPython_Haegl.powerpoint presentation. tx
Python_Haegl.powerpoint presentation. txvishwanathgoudapatil1
 
Chapter 2 Python Language Basics, IPython.pptx
Chapter 2 Python Language Basics, IPython.pptxChapter 2 Python Language Basics, IPython.pptx
Chapter 2 Python Language Basics, IPython.pptxSovannDoeur
 
Introduction to python
Introduction to pythonIntroduction to python
Introduction to pythonAhmed Salama
 

Similar to Introduction to python (20)

Python Part 1
Python Part 1Python Part 1
Python Part 1
 
Python 101 1
Python 101   1Python 101   1
Python 101 1
 
python programming for beginners and advanced
python programming for beginners and advancedpython programming for beginners and advanced
python programming for beginners and advanced
 
Introduction to Python 01-08-2023.pon by everyone else. . Hence, they must be...
Introduction to Python 01-08-2023.pon by everyone else. . Hence, they must be...Introduction to Python 01-08-2023.pon by everyone else. . Hence, they must be...
Introduction to Python 01-08-2023.pon by everyone else. . Hence, they must be...
 
Python for scientific computing
Python for scientific computingPython for scientific computing
Python for scientific computing
 
Python Novice to Ninja
Python Novice to NinjaPython Novice to Ninja
Python Novice to Ninja
 
Python Session - 2
Python Session - 2Python Session - 2
Python Session - 2
 
Learn 90% of Python in 90 Minutes
Learn 90% of Python in 90 MinutesLearn 90% of Python in 90 Minutes
Learn 90% of Python in 90 Minutes
 
Python Interview Questions | Python Interview Questions And Answers | Python ...
Python Interview Questions | Python Interview Questions And Answers | Python ...Python Interview Questions | Python Interview Questions And Answers | Python ...
Python Interview Questions | Python Interview Questions And Answers | Python ...
 
Python (Data Analysis) cleaning and visualize
Python (Data Analysis) cleaning and visualizePython (Data Analysis) cleaning and visualize
Python (Data Analysis) cleaning and visualize
 
Python bible
Python biblePython bible
Python bible
 
Improve Your Edge on Machine Learning - Day 1.pptx
Improve Your Edge on Machine Learning - Day 1.pptxImprove Your Edge on Machine Learning - Day 1.pptx
Improve Your Edge on Machine Learning - Day 1.pptx
 
File handling in pythan.pptx
File handling in pythan.pptxFile handling in pythan.pptx
File handling in pythan.pptx
 
Basic of Python- Hands on Session
Basic of Python- Hands on SessionBasic of Python- Hands on Session
Basic of Python- Hands on Session
 
Python_Haegl.powerpoint presentation. tx
Python_Haegl.powerpoint presentation. txPython_Haegl.powerpoint presentation. tx
Python_Haegl.powerpoint presentation. tx
 
Python cheat-sheet
Python cheat-sheetPython cheat-sheet
Python cheat-sheet
 
Chapter 2 Python Language Basics, IPython.pptx
Chapter 2 Python Language Basics, IPython.pptxChapter 2 Python Language Basics, IPython.pptx
Chapter 2 Python Language Basics, IPython.pptx
 
Introduction to python
Introduction to pythonIntroduction to python
Introduction to python
 
Python slide
Python slidePython slide
Python slide
 
Python ppt
Python pptPython ppt
Python ppt
 

More from sagaroceanic11

Module 21 investigative reports
Module 21 investigative reportsModule 21 investigative reports
Module 21 investigative reportssagaroceanic11
 
Module 20 mobile forensics
Module 20 mobile forensicsModule 20 mobile forensics
Module 20 mobile forensicssagaroceanic11
 
Module 19 tracking emails and investigating email crimes
Module 19 tracking emails and investigating email crimesModule 19 tracking emails and investigating email crimes
Module 19 tracking emails and investigating email crimessagaroceanic11
 
Module 18 investigating web attacks
Module 18 investigating web attacksModule 18 investigating web attacks
Module 18 investigating web attackssagaroceanic11
 
Module 17 investigating wireless attacks
Module 17 investigating wireless attacksModule 17 investigating wireless attacks
Module 17 investigating wireless attackssagaroceanic11
 
Module 04 digital evidence
Module 04 digital evidenceModule 04 digital evidence
Module 04 digital evidencesagaroceanic11
 
Module 03 searching and seizing computers
Module 03 searching and seizing computersModule 03 searching and seizing computers
Module 03 searching and seizing computerssagaroceanic11
 
Module 01 computer forensics in todays world
Module 01 computer forensics in todays worldModule 01 computer forensics in todays world
Module 01 computer forensics in todays worldsagaroceanic11
 
Virtualisation with v mware
Virtualisation with v mwareVirtualisation with v mware
Virtualisation with v mwaresagaroceanic11
 
Virtualisation overview
Virtualisation overviewVirtualisation overview
Virtualisation overviewsagaroceanic11
 
Introduction to virtualisation
Introduction to virtualisationIntroduction to virtualisation
Introduction to virtualisationsagaroceanic11
 
2 the service lifecycle
2 the service lifecycle2 the service lifecycle
2 the service lifecyclesagaroceanic11
 
1 introduction to itil v[1].3
1 introduction to itil v[1].31 introduction to itil v[1].3
1 introduction to itil v[1].3sagaroceanic11
 
Visual studio 2008 overview
Visual studio 2008 overviewVisual studio 2008 overview
Visual studio 2008 overviewsagaroceanic11
 

More from sagaroceanic11 (20)

Module 21 investigative reports
Module 21 investigative reportsModule 21 investigative reports
Module 21 investigative reports
 
Module 20 mobile forensics
Module 20 mobile forensicsModule 20 mobile forensics
Module 20 mobile forensics
 
Module 19 tracking emails and investigating email crimes
Module 19 tracking emails and investigating email crimesModule 19 tracking emails and investigating email crimes
Module 19 tracking emails and investigating email crimes
 
Module 18 investigating web attacks
Module 18 investigating web attacksModule 18 investigating web attacks
Module 18 investigating web attacks
 
Module 17 investigating wireless attacks
Module 17 investigating wireless attacksModule 17 investigating wireless attacks
Module 17 investigating wireless attacks
 
Module 04 digital evidence
Module 04 digital evidenceModule 04 digital evidence
Module 04 digital evidence
 
Module 03 searching and seizing computers
Module 03 searching and seizing computersModule 03 searching and seizing computers
Module 03 searching and seizing computers
 
Module 01 computer forensics in todays world
Module 01 computer forensics in todays worldModule 01 computer forensics in todays world
Module 01 computer forensics in todays world
 
Virtualisation with v mware
Virtualisation with v mwareVirtualisation with v mware
Virtualisation with v mware
 
Virtualisation overview
Virtualisation overviewVirtualisation overview
Virtualisation overview
 
Virtualisation basics
Virtualisation basicsVirtualisation basics
Virtualisation basics
 
Introduction to virtualisation
Introduction to virtualisationIntroduction to virtualisation
Introduction to virtualisation
 
6 service operation
6 service operation6 service operation
6 service operation
 
5 service transition
5 service transition5 service transition
5 service transition
 
4 service design
4 service design4 service design
4 service design
 
3 service strategy
3 service strategy3 service strategy
3 service strategy
 
2 the service lifecycle
2 the service lifecycle2 the service lifecycle
2 the service lifecycle
 
1 introduction to itil v[1].3
1 introduction to itil v[1].31 introduction to itil v[1].3
1 introduction to itil v[1].3
 
Visual studio 2008 overview
Visual studio 2008 overviewVisual studio 2008 overview
Visual studio 2008 overview
 
Vb introduction.
Vb introduction.Vb introduction.
Vb introduction.
 

Recently uploaded

SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfngoud9212
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 

Recently uploaded (20)

SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdf
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 

Introduction to python

  • 1. Let’s Learn Python An introduction to Python Jaganadh G Project Lead NLP R&D 365Media Pvt. Ltd. jaganadhg@gmail.com KiTE, Coimbatore 19 July 2011 Jaganadh G Let’s Learn Python
  • 2. Just a word about me !! Working in Natural Language Processing (NLP), Machine Learning, Data Mining Passionate about Free and Open source :-) When gets free time teaches Python and blogs at http://jaganadhg.freeflux.net/blog reviews books for Packt Publishers. Works for 365Media Pvt. Ltd. Coimbatore India. Member of Indian Python Software Society Jaganadh G Let’s Learn Python
  • 3. Python Python is an easy to learn, powerful programming language. It has efficient high-level data structures and a simple but effective 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
  • 4. Features of Python Simple 1 Python is a simple and minimalist language 2 Reading a good Python program feels almost like reading English Easy to Learn 1 Python is extremely easy to get started with 2 Python has an extraordinarily simple syntax Free and Open Source High-level Language Portable, You can use Python on 1 Linux 2 Microsoft Windows 3 Macintosh 4 ........... Jaganadh G Let’s Learn Python
  • 5. Features of Python Interpreted Object Oriented Extensible Embeddable Batteries included Jaganadh G Let’s Learn Python
  • 6. Installing Python If you are using a Linux distribution such as Fedora or Ubuntu then you probably already have Python installed on your system. To test it open a shell program like gnome-terminal or konsole and enter the command python -V If you are using windows - go to http://www.python.org/download/releases/2.7/ and download http://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 Environment Settings Jaganadh G Let’s Learn Python
  • 7. 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
  • 8. Hello world !!! #!/usr/bin/env python #Just a Hello World !! program print "Hello World!!" You can write the code in you favorite editor, save and run 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
  • 9. Using the Python Interpreter The Python iterpreter can be used as a calculator !! Jaganadh G Let’s Learn Python
  • 10. Keywords The following are keywords or reserved words in Python These words can’t be used as variable names or function names or class names and del for is raise assert elif from lambda return break else global not try class except if or while continue exec import pass yield def finally in print Jaganadh G Let’s Learn Python
  • 11. Variables age = 32 year = 1997 avg = 12.5 Note: There is no need to specify the type as like in C or Java Jaganadh G Let’s Learn Python
  • 12. 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
  • 13. Identifier Naming Identifiers Identifiers are names given to identify something. Rules to follow for naming identifiers 1 The first character of the identifier must be a letter of the 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 the lowercase n in the former and the uppercaseN in te latter. 4 Examples of valid identifier names arei, my name, name 23 and a1b c3 . 5 Examples of invalid identifier names are 2things, this is spaced out and my-name. Jaganadh G Let’s Learn Python
  • 14. 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
  • 15. Basic Math ! = Not equal to not Boolian NOT and Boolian AND or Boolian OR & Bitwise AND Note: Operator precedence is as same as of other programming languages Jaganadh G Let’s Learn Python
  • 16. Data Structure: List A list is a data structure that holds an ordered collection of 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 to access elements Jaganadh G Let’s Learn Python
  • 17. 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’ function len(fruits) Jaganadh G Let’s Learn Python
  • 18. Data Structure: List elements can be deleted del fruits[0] list can be sliced new list = fruits[1:3] lists can be extended flowers = [’rose’,’lilly’,’tulip’] fruits.extend(flowers) the index method can be used to find index of an item in a list fruits.index(’apple’) Jaganadh G Let’s Learn Python
  • 19. Data Structure: List The pop method removes an element from a list fruits.pop() The remove method is used to remove the first occurrence 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 place flowers.sort() Jaganadh G Let’s Learn Python
  • 20. 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
  • 21. 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
  • 22. 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
  • 23. Data Structure: Dictionary Another useful data type built into Python is the dictionary Dictionaries are sometimes found in other languages as associative memories or associative arrays. Dictionaries consist of pairs (called items) of keys and their corresponding values phonebook = {’Alice’: ’2341’, ’Beth’: ’9102’, ’Cecil’: ’3258’} phonebook[’Alice’] #’2341’ Jaganadh G Let’s Learn Python
  • 24. Basic Dictionary Operations len(d) returns the number of items (key-value pairs) in d d = {’Alice’: ’2341’, ’Beth’: ’9102’, ’Cecil’: ’325 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 has the key ’Alice’ Jaganadh G Let’s Learn Python
  • 25. 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, even if that key isnt in the dictionary to begin with; in that case, a new item will be created. You cannot assign a value to an index outside the lists range (without using append or something like that). phonebook[’Ravi’] = ’567’ Membership: The expression k in d (where d is a dictionary) looks for a key, not a value. ’Alice’ in phonebook Jaganadh G Let’s Learn Python
  • 26. 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 a list of tuples phonebook.items() [(’Beth’, ’9102’), (’Alice’, ’2341’), (’Cecil’, ’3258’)] Jaganadh G Let’s Learn Python
  • 27. Control Flow:The if statement The if statement is used to check a condition and if the condition is true, we run a block of statements (called the if-block), else we process another block of statements (called the 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
  • 28. 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
  • 29. Control Flow:The while statement The while statement allows you to repeatedly execute a block of statements as long as a condition is true. A while statement is an example of what is called a looping statement. A while statement can have an optional else clause.The structure of while loop is while <test>: <statement> else: <statement> Jaganadh G Let’s Learn Python
  • 30. 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
  • 31. Control Flow:The for loop The for..in statement is another looping statement which iterates over a sequence of objects i.e. go through each item in a sequence. for <target> in <object>: <statement> else: statement Jaganadh G Let’s Learn Python
  • 32. 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
  • 33. 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
  • 34. Control Flow: The break,continue and pass statement The break statement is used to break out of a loop statement i.e. stop the execution of a looping state-ment, even if the loop condition has not become False or the sequence of items has been completely iterated over. while <test1>: <statement> if <test1>:break else <test2>:continue else: <statement> Jaganadh G Let’s Learn Python
  • 35. 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
  • 36. 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
  • 37. Control Flow:pass #Example for pass while 1: pass Jaganadh G Let’s Learn Python
  • 38. Functions Functions are reusable pieces of programs. They allow you to give a name to a block of statements and you can run that block using that name anywhere in your program and any number 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
  • 39. Functions with parameters A function can take parameters which are just values you supply to the function so that the function can do something utilising 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
  • 40. 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
  • 41. 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
  • 42. 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
  • 43. 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
  • 44. 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
  • 45. Object Oriented Programming:Using Object Methods Class/objects can have methods just like functions except that we 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
  • 46. Object Oriented Programming:The init method The init method is run as soon as an object of a class is instantiated. The method is useful to do any initialization you want to do with your object. Notice the double underscore both 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
  • 47. Object Oriented Programming:Class and Object Variables There are two types of fields - class variables and object variables which are classified depending on whether the class or the object owns the variables respectively. Class variables are shared in the sense that they are accessed by all objects (instances) of that class.There is only copy of the class variable and when any one object makes a change to a class variable, the change is reflected in all the other instances as well. Object variables are owned by each individual object/instance of the class. In this case, each object has its own copy of the field i.e. they are not shared and are not related in any way to the field by the samen name in a different instance of the same class. Jaganadh G Let’s Learn Python
  • 48. 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
  • 49. 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.name Jaganadh G Let’s Learn Python
  • 50. 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() Jaganadh G Let’s Learn Python
  • 51. 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
  • 52. 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
  • 53. 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
  • 54. Modules A module is basically a file containing all your functions and variables that you have defined. To reuse the module in other programs, the filename of the module must have a .py extension. By using the import statement you can use built-in modules in Python import sys , os sys.argv[1] os.name os.curdir import math math.sqrt(9) Jaganadh G Let’s Learn Python
  • 55. 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
  • 56. 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
  • 57. 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
  • 58. 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
  • 59. Questions ?? Jaganadh G Let’s Learn Python
  • 60. 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
  • 61. References A Byte of Python : Swaroop CH Dive in to Python Many wikibooks ............. Jaganadh G Let’s Learn Python