Day 1 – Lesson 4 Beginning Functions Python Mini-Course University of Oklahoma Department of Psychology Python Mini-Course: Day 1 - Lesson 4 4/5/09
Download ReportTranscript Day 1 – Lesson 4 Beginning Functions Python Mini-Course University of Oklahoma Department of Psychology Python Mini-Course: Day 1 - Lesson 4 4/5/09
Day 1 – Lesson 4 Beginning Functions
Python Mini-Course University of Oklahoma Department of Psychology 1 Python Mini-Course: Day 1 - Lesson 4 4/5/09
2
Lesson objectives
1.
2.
3.
4.
5.
State the purpose of functions and modules in Python Use built-in functions Import modules and use imported functions Create custom void functions Discuss the concept of variable scope Python Mini-Course: Day 1 - Lesson 4 4/5/09
Functions
Function A named sequence of statements that performs a computation or action Functions are called by name Most functions accept inputs (arguments) Some functions return results (return value) 3 Python Mini-Course: Day 1 - Lesson 4 4/5/09
Functions
We’ve already seen some functions: type() Type casting functions int(), float(), str() 4 Python Mini-Course: Day 1 - Lesson 4 4/5/09
5
Modules
Module A file that contains a collection of related functions Python has hundreds of standard modules These are known as the Python Standard Library ( http://docs.python.org/library/ ) You can also create and use add-in modules Python Mini-Course: Day 1 - Lesson 4 4/5/09
6
Using import
To use a module, you first have to import it into your namespace To import the entire module import module_name To import specific functions from module_name import function_name Python Mini-Course: Day 1 - Lesson 4 4/5/09
7
The math module
The standard math module includes: Number-theoretic and representation functions Power and logarithmic functions Trigonometric functions Hyperbolic functions Angular conversion Constants Python Mini-Course: Day 1 - Lesson 4 4/5/09
Using the math module
import math degrees = 45 radians = degrees / 360.0 \ * 2 * math.pi
print math.sin(radians) 8 x = math.sin(degrees / 360.0 \ * 2 * math.pi) Python Mini-Course: Day 1 - Lesson 4 4/5/09
Dot notation
Why did we use math.sin() instead of just sin() ?
Try this: print sin(radians) Dot notation allows the Python interpreter to organize and divide the namespace 9 Python Mini-Course: Day 1 - Lesson 4 4/5/09
More on Importing
from math import * print sin(2) 10 Be careful when using the import * conflicts.
command. It can easily lead to namespace Python Mini-Course: Day 1 - Lesson 4 4/5/09
Creating your own functions
You have to define the function Example: def print_lyrics(): print "I'm a lumberjack, and I'm okay." print "I sleep all night and I work all day." 11 Python Mini-Course: Day 1 - Lesson 4 4/5/09
Composing functions
def repeat_lyrics(): print_lyrics() print_lyrics() repeat_lyrics() 12 Python Mini-Course: Day 1 - Lesson 4 4/5/09
Functions with arguments
def print_twice(in_text): print in_text print in_text print_twice(‘Spam’) print_twice(‘Spam’*4) 13 Python Mini-Course: Day 1 - Lesson 4 4/5/09
Variable scope
Scope The enclosing context where values and expressions are associated (partition in namespace) Variables inside functions are
local
14 Python Mini-Course: Day 1 - Lesson 4 4/5/09
Variable scope
def cat_string(part1, part2): cat = part1 + part2 print cat cat_string(‘This ‘, ‘works’) print cat 15 Python Mini-Course: Day 1 - Lesson 4 4/5/09
Documentation You can document functions in the code immediately after the function header Example: func_doc.py
16 Python Mini-Course: Day 1 - Lesson 4 4/5/09
Before next time
Practice creating and using your own functions (try the exercises on pp 26-28) Practice using the math module (see http://docs.python.org/library/math.html
for documentation) 17 Python Mini-Course: Day 1 - Lesson 4 4/5/09