Lesson 4 - University of Oklahoma
Download
Report
Transcript Lesson 4 - University of Oklahoma
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
Lesson objectives
1. State the purpose of functions
2.
3.
4.
5.
2
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
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
5
Python Mini-Course: Day 1 - Lesson 4
4/5/09
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
6
Python Mini-Course: Day 1 - Lesson 4
4/5/09
The math module
The standard math module
includes:
Number-theoretic and representation
functions
Power and logarithmic functions
Trigonometric functions
Hyperbolic functions
Angular conversion
Constants
7
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)
x = math.sin(degrees / 360.0 \
* 2 * math.pi)
8
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)
Be careful when using the
import * command. It can
easily lead to namespace
conflicts.
10
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