Day 1 Lesson 4 Beginning Functions Python MiniCourse
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 and 2. 3. 4. 5. 2 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() 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_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(part 1, part 2): cat = part 1 + part 2 print 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
- Slides: 17