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