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 Report

Transcript 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