SlideShare a Scribd company logo
Python
•Open a terminal window and type “python”
•If on Windows open a Python IDE like IDLE
•At the prompt type ‘hello world!’
>>> 'hello world!'
'hello world!'
•Python is an interpreted
language
•The interpreter provides an
interactive environment to
play with the language
•Results of expressions are
printed on the screen

>>> 3 + 7
10
>>> 3 < 15
True
>>> 'print me'
'print me'
>>> print 'print me'
print me
>>>
•Elements separated by
commas print with a space
between them
•A comma at the end of the
statement (print ‘hello’,) will
not print a newline character

>>> print 'hello'
hello
>>> print 'hello', 'there'
hello there
The ‘#’ starts a line comment

>>> 'this will print'
'this will print'
>>> #'this will not'
>>>
Are not declared, just assigned
The variable is created the first time you assign
it a value
 Are references to objects
 Type information is with the object, not the
reference
 Everything in Python is an object


Everything means
everything, including
functions and classes
(more on this later!)
 Data type is a
property of the object
and not of the variable


>>> x = 7
>>> x
7
>>> x = 'hello'
>>> x
'hello'
>>>
Integer – the equivalent
of a C long
 Long Integer – an
unbounded integer value.


>>> 132224
132224
>>> 132323 ** 2
17509376329L
>>>
int(x) converts x to an
integer
 float(x) converts x to a
floating point
 The interpreter shows
a lot of digits


>>> 1.23232
1.2323200000000001
>>> print 1.23232
1.23232
>>> 1.3E7
13000000.0
>>> int(2.0)
2
>>> float(2)
2.0
Built into Python
 Same operations are
supported as integer and
float


>>> x = 3 + 2j
>>> y = -1j
>>> x + y
(3+1j)
>>> x * y
(2-3j)
Strings are immutable
 There is no char type like
in C++ or Java
 + is overloaded to do
concatenation


>>> x = 'hello'
>>> x = x + ' there'
>>> x
'hello there'


Can use single or double quotes, and three double
quotes for a multi-line string
>>> 'I am a string'
'I am a string'
>>> "So am I!"
'So am I!'
>>> s = """And me too!
though I am much longer
than the others :)"""
'And me too!nthough I am much longernthan the others :)‘
>>> print s
And me too!
though I am much longer

than the others :)‘
>>> s = '012345'
>>> s[3]
'3'
>>> s[1:4]
'123'
>>> s[2:]
'2345'
>>> s[:4]
'0123'
>>> s[-2]
'4'

• len(String) – returns the
number of characters in the
String
• str(Object) – returns a
String representation of the
Object
>>> len(x)
6
>>> str(10.3)
'10.3'




Similar to C’s printf
<formatted string> % <elements to insert>
Can usually just use %s for everything, it will
convert the object to its String representation.
>>> "One, %d, three" % 2
'One, 2, three'
>>> "%d, two, %s" % (1,3)
'1, two, 3'
>>> "%s two %s" % (1, 'three')
'1 two three'
>>>
Ordered collection of data
 Data can be of different
types
 Lists are mutable
 Issues with shared
references and mutability
 Same subset operations as
Strings


>>> x = [1,'hello', (3 + 2j)]
>>> x
[1, 'hello', (3+2j)]
>>> x[2]
(3+2j)
>>> x[0:2]
[1, 'hello']
x[i] = a reassigns the
ith element to the
value a
 Since x and y point to
the same list object,
both are changed
 The method append
also modifies the list


>>> x = [1,2,3]
>>> y = x
>>> x[1] = 15
>>> x
[1, 15, 3]
>>> y
[1, 15, 3]
>>> x.append(12)
>>> y
[1, 15, 3, 12]
The method
append modifies
the list and returns
None
 List addition (+)
returns a new list


>>> x = [1,2,3]
>>> y = x
>>> z = x.append(12)
>>> z == None
True
>>> y
[1, 2, 3, 12]
>>> x = x + [9,10]
>>> x
[1, 2, 3, 12, 9, 10]
>>> y
[1, 2, 3, 12]
>>>
Tuples are immutable
versions of lists
 One strange point is the
format to make a tuple
with one element:
‘,’ is needed to
differentiate from the
mathematical expression
(2)


>>> x = (1,2,3)
>>> x[1:]
(2, 3)
>>> y = (2,)
>>> y
(2,)
>>>
 A set of key-value pairs
 Dictionaries are mutable
>>> d = {1 : 'hello', 'two' : 42, 'blah' : [1,2,3]}
>>> d
{1: 'hello', 'two': 42, 'blah': [1, 2, 3]}
>>> d['blah']
[1, 2, 3]


Entries can be changed by assigning to that entry
>>> d
{1: 'hello', 'two': 42, 'blah': [1, 2, 3]}
>>> d['two'] = 99
>>> d
{1: 'hello', 'two': 99, 'blah': [1, 2, 3]}

• Assigning to a key that does not exist adds an entry
>>> d[7] = 'new entry'
>>> d
{1: 'hello', 7: 'new entry', 'two': 99, 'blah': [1, 2, 3]}


The del method deletes an element from a dictionary

>>> d
{1: 'hello', 2: 'there', 10: 'world'}
>>> del(d[2])
>>> d
{1: 'hello', 10: 'world'}
Lists, Tuples, and Dictionaries can store any type
(including other lists, tuples, and dictionaries!)
 Only lists and dictionaries are mutable
 All variables are references

 Integers: 2323, 3234L
 Floating Point: 32.3, 3.1E2
 Complex: 3 + 2j, 1j
 Lists: l = [ 1,2,3]

 Tuples: t = (1,2,3)
 Dictionaries: d = {‘hello’ : ‘there’, 2 : 15}
The raw_input(string) method returns a line of
user input as a string
 The parameter is used as a prompt
 The string can be converted by using the
conversion methods int(string), float(string),
etc.

print "What's your name?"
name = raw_input("> ")
print "What year were you born?"
birthyear = int(raw_input("> "))
print "Hi %s! You are %d years old!" % (name, 2011 - birthyear)
~: python input.py
What's your name?
> Michael
What year were you born?
>1980
Hi Michael! You are 31 years old!
inflobj = open(‘data’, ‘r’) Open the file ‘data’
for input
S = inflobj.read()

Read whole file into
one String

S = inflobj.read(N)

Reads N bytes
(N >= 1)

L = inflobj.readlines()

Returns a list of line
strings
outflobj = open(‘data’, ‘w’) Open the file ‘data’
for writing
outflobj.write(S)

Writes the string S to
file

outflobj.writelines(L)

Writes each of the
strings in list L to file

outflobj.close()

Closes the file
0 and None are false
 Everything else is true
 True and False are aliases for 1 and 0 respectively

Compound boolean
expressions short circuit
 and and or return one of the
elements in the expression
 Note that when None is
returned the interpreter does
not print anything


>>> True and False
False
>>> False or True
True
>>> 7 and 14
14
>>> None and 2
>>> None or 2
2
Python uses indentation instead of braces to
determine the scope of expressions
 All lines must be indented the same amount to be
part of the scope (or indented more if part of an inner
scope)
 This forces the programmer to use proper
indentation since the indenting is part of the
program!

import math
x = 30
if x <= 15 :
y = x + 15
elif x <= 30 :
y = x + 30
else :
y=x
print ‘y = ‘,
print math.sin(y)
In file ifstatement.py

>>> import ifstatement
y = 0.999911860107
>>>
In interpreter
x=1
while x < 10 :
print x
x=x+1
In whileloop.py

>>> import whileloop
1
2
3
4
5
6
7
8
9
>>>
In interpreter
break

Jumps out of the closest
enclosing loop

continue

Jumps to the top of the closest
enclosing loop

pass

Does nothing, empty statement
placeholder


The optional else clause runs only if the loop
exits normally (not by break)
x=1
while x < 3 :
print x
x=x+1
else:
print 'hello'
In whileelse.py

~: python whileelse.py
1
2
hello
Run from the command line
x=1
while x < 5 :
print x
x=x+1
break
else :
print 'i got here'
whileelse2.py

~: python whileelse2.py
1


Similar to perl for loops, iterating through a list of values

for x in [1,7,13,2] :
forloop1.py
print x
~: python forloop1.py
1
7
13
2

for x in range(5) :
forloop2.py
print x
~: python forloop2.py
0
1
2
3
4

range(N) generates a list of numbers [0,1, …, n-1]


For loops also may have the optional else clause
for x in range(5):
print x
break
else :
print 'i got here'
elseforloop.py

~: python elseforloop.py
1
def max(x,y) :
if x < y :
return x
else :
return y
functionbasics.py

>>> import functionbasics
>>> max(3,5)
5
>>> max('hello', 'there')
'there'
>>> max(3, 'hello')
'hello'
Can be assigned to a variable
 Can be passed as a parameter
 Can be returned from a function
• Functions are treated like any other variable in
Python, the def statement simply assigns a
function to a variable

Functions are objects
 The same reference
rules hold for them as
for other objects


>>> x = 10
>>> x
10
>>> def x () :
... print 'hello'
>>> x
<function x at 0x619f0>
>>> x()
hello
>>> x = 'blah'
>>> x
'blah'
Parameters can be
assigned default
values
 They are overridden if
a parameter is given
for them
 The type of the
default doesn’t limit
the type of a
parameter


>>> def foo(x = 3) :
... print x
...
>>> foo()
3
>>> foo(10)
10
>>> foo('hello')
hello
Call by name
 Any positional
arguments must
come before
named ones in a
call


>>> def foo (a,b,c) :
... print a, b, c
...
>>> foo(c = 10, a = 2, b = 14)
2 14 10
>>> foo(3, c = 2, b = 19)
3 19 2
A lambda
expression returns
a function object
 The body can only
be a simple
expression, not
complex
statements


>>> f = lambda x,y : x + y
>>> f(2,3)
5
>>> lst = ['one', lambda x : x * x, 3]
>>> lst[1](4)
16
THANK YOU

More Related Content

PPT
Python tutorialfeb152012
PPT
Python tutorial
PPTX
Sequence Types in Python Programming
PPT
Python study material
PPTX
Learn python in 20 minutes
PPTX
FUNCTIONS IN PYTHON. CBSE +2 COMPUTER SCIENCE
PDF
Python Cheat Sheet
PPTX
Basics of Python programming (part 2)
Python tutorialfeb152012
Python tutorial
Sequence Types in Python Programming
Python study material
Learn python in 20 minutes
FUNCTIONS IN PYTHON. CBSE +2 COMPUTER SCIENCE
Python Cheat Sheet
Basics of Python programming (part 2)

What's hot (15)

PDF
FUNCTIONS IN PYTHON, CLASS 12 COMPUTER SCIENCE
PPTX
python chapter 1
PPTX
Python chapter 2
PDF
Python Modules, Packages and Libraries
ODP
Python quickstart for programmers: Python Kung Fu
PPTX
Python 101++: Let's Get Down to Business!
PDF
Beginners python cheat sheet - Basic knowledge
 
PPTX
Learning python
PDF
Learn 90% of Python in 90 Minutes
PDF
Functions in python
PPTX
Datastructures in python
PPTX
Introduction to the basics of Python programming (part 3)
PDF
Introduction to python
PDF
Matlab and Python: Basic Operations
PPTX
Standard data-types-in-py
FUNCTIONS IN PYTHON, CLASS 12 COMPUTER SCIENCE
python chapter 1
Python chapter 2
Python Modules, Packages and Libraries
Python quickstart for programmers: Python Kung Fu
Python 101++: Let's Get Down to Business!
Beginners python cheat sheet - Basic knowledge
 
Learning python
Learn 90% of Python in 90 Minutes
Functions in python
Datastructures in python
Introduction to the basics of Python programming (part 3)
Introduction to python
Matlab and Python: Basic Operations
Standard data-types-in-py
Ad

Viewers also liked (9)

PPTX
Python Programming Essentials - M3 - Python Installation
PPT
Python installation ver 2
PPTX
PPT
Crowdfunding
PPTX
txtQuizMaker
PDF
Tt presentation.ppt
PPT
10 11-hart installing pythonsoftware
PDF
OLAP with Cassandra and Spark
PPT
E payment
Python Programming Essentials - M3 - Python Installation
Python installation ver 2
Crowdfunding
txtQuizMaker
Tt presentation.ppt
10 11-hart installing pythonsoftware
OLAP with Cassandra and Spark
E payment
Ad

Similar to Python (20)

PPTX
Keep it Stupidly Simple Introduce Python
PPTX
Python Workshop
PPTX
Python material
PDF
Python Cheatsheet_A Quick Reference Guide for Data Science.pdf
PPT
Introduction to Python Programming.ppt
PPT
Function in Python [Autosaved].ppt
PPTX
Python Workshop - Learn Python the Hard Way
PPT
Python course in_mumbai
PPT
Python course in_mumbai
ODP
An Intro to Python in 30 minutes
PDF
cel shading as PDF and Python description
PDF
Data Handling_XI- All details for cbse board grade 11
PPT
Python
PPTX
GE8151 Problem Solving and Python Programming
PDF
Python_Cheat_Sheet_Keywords_1664634397.pdf
PDF
Python_Cheat_Sheet_Keywords_1664634397.pdf
PPTX
Python String Revisited.pptx
PPTX
Lexture about strings, all examples and theoretical part is included
PPTX
PPT_1_9102501a-a7a1-493e-818f-cf699918bbf6.pptx
Keep it Stupidly Simple Introduce Python
Python Workshop
Python material
Python Cheatsheet_A Quick Reference Guide for Data Science.pdf
Introduction to Python Programming.ppt
Function in Python [Autosaved].ppt
Python Workshop - Learn Python the Hard Way
Python course in_mumbai
Python course in_mumbai
An Intro to Python in 30 minutes
cel shading as PDF and Python description
Data Handling_XI- All details for cbse board grade 11
Python
GE8151 Problem Solving and Python Programming
Python_Cheat_Sheet_Keywords_1664634397.pdf
Python_Cheat_Sheet_Keywords_1664634397.pdf
Python String Revisited.pptx
Lexture about strings, all examples and theoretical part is included
PPT_1_9102501a-a7a1-493e-818f-cf699918bbf6.pptx

Recently uploaded (20)

PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Univ-Connecticut-ChatGPT-Presentaion.pdf
PPTX
SOPHOS-XG Firewall Administrator PPT.pptx
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PPTX
Tartificialntelligence_presentation.pptx
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Approach and Philosophy of On baking technology
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PPTX
OMC Textile Division Presentation 2021.pptx
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PPT
Teaching material agriculture food technology
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
A comparative study of natural language inference in Swahili using monolingua...
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PPTX
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
PDF
A comparative analysis of optical character recognition models for extracting...
PPTX
1. Introduction to Computer Programming.pptx
PDF
Encapsulation theory and applications.pdf
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Univ-Connecticut-ChatGPT-Presentaion.pdf
SOPHOS-XG Firewall Administrator PPT.pptx
MIND Revenue Release Quarter 2 2025 Press Release
Tartificialntelligence_presentation.pptx
Reach Out and Touch Someone: Haptics and Empathic Computing
Approach and Philosophy of On baking technology
Advanced methodologies resolving dimensionality complications for autism neur...
OMC Textile Division Presentation 2021.pptx
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Teaching material agriculture food technology
Diabetes mellitus diagnosis method based random forest with bat algorithm
A comparative study of natural language inference in Swahili using monolingua...
Mobile App Security Testing_ A Comprehensive Guide.pdf
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
A comparative analysis of optical character recognition models for extracting...
1. Introduction to Computer Programming.pptx
Encapsulation theory and applications.pdf

Python

  • 2. •Open a terminal window and type “python” •If on Windows open a Python IDE like IDLE •At the prompt type ‘hello world!’ >>> 'hello world!' 'hello world!'
  • 3. •Python is an interpreted language •The interpreter provides an interactive environment to play with the language •Results of expressions are printed on the screen >>> 3 + 7 10 >>> 3 < 15 True >>> 'print me' 'print me' >>> print 'print me' print me >>>
  • 4. •Elements separated by commas print with a space between them •A comma at the end of the statement (print ‘hello’,) will not print a newline character >>> print 'hello' hello >>> print 'hello', 'there' hello there
  • 5. The ‘#’ starts a line comment >>> 'this will print' 'this will print' >>> #'this will not' >>>
  • 6. Are not declared, just assigned The variable is created the first time you assign it a value  Are references to objects  Type information is with the object, not the reference  Everything in Python is an object  
  • 7. Everything means everything, including functions and classes (more on this later!)  Data type is a property of the object and not of the variable  >>> x = 7 >>> x 7 >>> x = 'hello' >>> x 'hello' >>>
  • 8. Integer – the equivalent of a C long  Long Integer – an unbounded integer value.  >>> 132224 132224 >>> 132323 ** 2 17509376329L >>>
  • 9. int(x) converts x to an integer  float(x) converts x to a floating point  The interpreter shows a lot of digits  >>> 1.23232 1.2323200000000001 >>> print 1.23232 1.23232 >>> 1.3E7 13000000.0 >>> int(2.0) 2 >>> float(2) 2.0
  • 10. Built into Python  Same operations are supported as integer and float  >>> x = 3 + 2j >>> y = -1j >>> x + y (3+1j) >>> x * y (2-3j)
  • 11. Strings are immutable  There is no char type like in C++ or Java  + is overloaded to do concatenation  >>> x = 'hello' >>> x = x + ' there' >>> x 'hello there'
  • 12.  Can use single or double quotes, and three double quotes for a multi-line string >>> 'I am a string' 'I am a string' >>> "So am I!" 'So am I!' >>> s = """And me too! though I am much longer than the others :)""" 'And me too!nthough I am much longernthan the others :)‘ >>> print s And me too! though I am much longer than the others :)‘
  • 13. >>> s = '012345' >>> s[3] '3' >>> s[1:4] '123' >>> s[2:] '2345' >>> s[:4] '0123' >>> s[-2] '4' • len(String) – returns the number of characters in the String • str(Object) – returns a String representation of the Object >>> len(x) 6 >>> str(10.3) '10.3'
  • 14.    Similar to C’s printf <formatted string> % <elements to insert> Can usually just use %s for everything, it will convert the object to its String representation. >>> "One, %d, three" % 2 'One, 2, three' >>> "%d, two, %s" % (1,3) '1, two, 3' >>> "%s two %s" % (1, 'three') '1 two three' >>>
  • 15. Ordered collection of data  Data can be of different types  Lists are mutable  Issues with shared references and mutability  Same subset operations as Strings  >>> x = [1,'hello', (3 + 2j)] >>> x [1, 'hello', (3+2j)] >>> x[2] (3+2j) >>> x[0:2] [1, 'hello']
  • 16. x[i] = a reassigns the ith element to the value a  Since x and y point to the same list object, both are changed  The method append also modifies the list  >>> x = [1,2,3] >>> y = x >>> x[1] = 15 >>> x [1, 15, 3] >>> y [1, 15, 3] >>> x.append(12) >>> y [1, 15, 3, 12]
  • 17. The method append modifies the list and returns None  List addition (+) returns a new list  >>> x = [1,2,3] >>> y = x >>> z = x.append(12) >>> z == None True >>> y [1, 2, 3, 12] >>> x = x + [9,10] >>> x [1, 2, 3, 12, 9, 10] >>> y [1, 2, 3, 12] >>>
  • 18. Tuples are immutable versions of lists  One strange point is the format to make a tuple with one element: ‘,’ is needed to differentiate from the mathematical expression (2)  >>> x = (1,2,3) >>> x[1:] (2, 3) >>> y = (2,) >>> y (2,) >>>
  • 19.  A set of key-value pairs  Dictionaries are mutable >>> d = {1 : 'hello', 'two' : 42, 'blah' : [1,2,3]} >>> d {1: 'hello', 'two': 42, 'blah': [1, 2, 3]} >>> d['blah'] [1, 2, 3]
  • 20.  Entries can be changed by assigning to that entry >>> d {1: 'hello', 'two': 42, 'blah': [1, 2, 3]} >>> d['two'] = 99 >>> d {1: 'hello', 'two': 99, 'blah': [1, 2, 3]} • Assigning to a key that does not exist adds an entry >>> d[7] = 'new entry' >>> d {1: 'hello', 7: 'new entry', 'two': 99, 'blah': [1, 2, 3]}
  • 21.  The del method deletes an element from a dictionary >>> d {1: 'hello', 2: 'there', 10: 'world'} >>> del(d[2]) >>> d {1: 'hello', 10: 'world'}
  • 22. Lists, Tuples, and Dictionaries can store any type (including other lists, tuples, and dictionaries!)  Only lists and dictionaries are mutable  All variables are references 
  • 23.  Integers: 2323, 3234L  Floating Point: 32.3, 3.1E2  Complex: 3 + 2j, 1j  Lists: l = [ 1,2,3]  Tuples: t = (1,2,3)  Dictionaries: d = {‘hello’ : ‘there’, 2 : 15}
  • 24. The raw_input(string) method returns a line of user input as a string  The parameter is used as a prompt  The string can be converted by using the conversion methods int(string), float(string), etc. 
  • 25. print "What's your name?" name = raw_input("> ") print "What year were you born?" birthyear = int(raw_input("> ")) print "Hi %s! You are %d years old!" % (name, 2011 - birthyear) ~: python input.py What's your name? > Michael What year were you born? >1980 Hi Michael! You are 31 years old!
  • 26. inflobj = open(‘data’, ‘r’) Open the file ‘data’ for input S = inflobj.read() Read whole file into one String S = inflobj.read(N) Reads N bytes (N >= 1) L = inflobj.readlines() Returns a list of line strings
  • 27. outflobj = open(‘data’, ‘w’) Open the file ‘data’ for writing outflobj.write(S) Writes the string S to file outflobj.writelines(L) Writes each of the strings in list L to file outflobj.close() Closes the file
  • 28. 0 and None are false  Everything else is true  True and False are aliases for 1 and 0 respectively 
  • 29. Compound boolean expressions short circuit  and and or return one of the elements in the expression  Note that when None is returned the interpreter does not print anything  >>> True and False False >>> False or True True >>> 7 and 14 14 >>> None and 2 >>> None or 2 2
  • 30. Python uses indentation instead of braces to determine the scope of expressions  All lines must be indented the same amount to be part of the scope (or indented more if part of an inner scope)  This forces the programmer to use proper indentation since the indenting is part of the program! 
  • 31. import math x = 30 if x <= 15 : y = x + 15 elif x <= 30 : y = x + 30 else : y=x print ‘y = ‘, print math.sin(y) In file ifstatement.py >>> import ifstatement y = 0.999911860107 >>> In interpreter
  • 32. x=1 while x < 10 : print x x=x+1 In whileloop.py >>> import whileloop 1 2 3 4 5 6 7 8 9 >>> In interpreter
  • 33. break Jumps out of the closest enclosing loop continue Jumps to the top of the closest enclosing loop pass Does nothing, empty statement placeholder
  • 34.  The optional else clause runs only if the loop exits normally (not by break) x=1 while x < 3 : print x x=x+1 else: print 'hello' In whileelse.py ~: python whileelse.py 1 2 hello Run from the command line
  • 35. x=1 while x < 5 : print x x=x+1 break else : print 'i got here' whileelse2.py ~: python whileelse2.py 1
  • 36.  Similar to perl for loops, iterating through a list of values for x in [1,7,13,2] : forloop1.py print x ~: python forloop1.py 1 7 13 2 for x in range(5) : forloop2.py print x ~: python forloop2.py 0 1 2 3 4 range(N) generates a list of numbers [0,1, …, n-1]
  • 37.  For loops also may have the optional else clause for x in range(5): print x break else : print 'i got here' elseforloop.py ~: python elseforloop.py 1
  • 38. def max(x,y) : if x < y : return x else : return y functionbasics.py >>> import functionbasics >>> max(3,5) 5 >>> max('hello', 'there') 'there' >>> max(3, 'hello') 'hello'
  • 39. Can be assigned to a variable  Can be passed as a parameter  Can be returned from a function • Functions are treated like any other variable in Python, the def statement simply assigns a function to a variable 
  • 40. Functions are objects  The same reference rules hold for them as for other objects  >>> x = 10 >>> x 10 >>> def x () : ... print 'hello' >>> x <function x at 0x619f0> >>> x() hello >>> x = 'blah' >>> x 'blah'
  • 41. Parameters can be assigned default values  They are overridden if a parameter is given for them  The type of the default doesn’t limit the type of a parameter  >>> def foo(x = 3) : ... print x ... >>> foo() 3 >>> foo(10) 10 >>> foo('hello') hello
  • 42. Call by name  Any positional arguments must come before named ones in a call  >>> def foo (a,b,c) : ... print a, b, c ... >>> foo(c = 10, a = 2, b = 14) 2 14 10 >>> foo(3, c = 2, b = 19) 3 19 2
  • 43. A lambda expression returns a function object  The body can only be a simple expression, not complex statements  >>> f = lambda x,y : x + y >>> f(2,3) 5 >>> lst = ['one', lambda x : x * x, 3] >>> lst[1](4) 16