Download presentation
Presentation is loading. Please wait.
Published bySnežana Velikonja Modified over 5 years ago
2
Topics Introduction to Functions Defining and Calling a Void Function
Designing a Program to Use Functions Local Variables Passing Arguments to Functions Global Variables and Global Constants
3
Introduction to Functions
Examples of built-in functions: input, float, int, etc Group of statements within a program that perform a specific custom task A task of a large program with multiple tasks Functions can be executed in order to perform overall program task Known as divide and conquer approach Modularized program: A large task or program is broken up into smaller tasks or functions
5
Benefits of Modularizing a Program with Functions
The benefits of using functions include: Simpler code Code reuse write the code once and call it multiple times Better testing and debugging Can test and debug each function individually Faster development Easier facilitation of teamwork Different team members can write different functions
6
Types of Returning Functions
A value-returning function: Executes the statements it contains then it returns a value back to the statement that called it. The input, int, and float functions are examples of value-returning functions. A void function: Simply executes the statements it contains and then terminates.
7
Defining a Function Functions are given names Function naming rules
Cannot use key words as a function name Cannot contain spaces First character must be a letter or underscore All other characters must be a letter, number or underscore Uppercase and lowercase characters are distinct
8
Defining a Function Function name should be descriptive of the task carried out by the function Often includes a verb Function definition: specifies what function does def function_name(): statement
9
Defining a Function Must be defined before used
Could be in beginning of program before main program starts Function header: first line of function Includes keyword def and function name, followed by parentheses and colon Block: set of statements that belong together as a group Example: the statements included in a function
10
Calling a Function Call a function to execute it
When a function is called Interpreter jumps to the function and executes its statements Interpreter jumps back to where the program called the function Known as function return
11
Definition and Calling Function Example
# This program demonstrates a function. # First, we define a function named message. def message(): print('I am Arthur') print('King of the Britons') # Call the message function. message() Output I am Arthur King of the Britons
12
Calling a Function main function: called when the program starts
Calls other functions when they are needed Defines the mainline logic of the program
13
Main and Two Function Example
# This program has two functions. First we define the main function. def main(): print('I have a message for you.') message() print('Goodbye!') # Next we define the message function. def message(): print('I am Arthur') print('King of the Britons.') # Program starts here by calling the function labeled as main. Main() Output I have a message for you. I am Arthur King of the Britons. Goodbye!
14
Indentation in Python Each block must be indented
Lines in block must begin with the same number of spaces Use tabs or spaces to indent lines in a block, but not both as this can confuse the Python interpreter IDLE automatically indents the lines in a block Blank lines that appear in a block are ignored
15
Designing a Program to Use Functions
In a flowchart, function call shown as rectangle with vertical bars at each side Function name written in the symbol Typically draw separate flow chart for each function in the program End terminal symbol usually reads Return Top-down design: technique for breaking algorithm into functions
16
Function Flowchart
17
Flow Using Hierarchy Chart
Depicts relationship between functions AKA structure chart Box for each function in the program, Lines connecting boxes illustrate the functions called by each function Does not show steps taken inside a function Use input function to have program wait for user to press enter
18
Hierarchy Chart
19
Detailed Program Hierarchy Chart
See acme_dryer.py
20
Local Variables Assigned a value inside a function
Belongs to the function in which it was created Only statements inside that function can access it Cannot be accessed from outside the function Scope: the part of a program that recognizes a variable For local variable – only in function that created it
21
Local Variables Define local variables first
Cannot be accessed by statements inside its function before it is created Different functions may have local variables with the same name Each function does not see the other function’s local variables, so no confusion
22
Problem With Local Variable
# Definition of the main function. def main(): get_name() print('Hello', name) # This causes an error! # Definition of the get_name function. def get_name(): name = input('Enter your name: ') # Call the main function. main()
23
Local Variables Example
# Demonstrates two functions that have local variables with same name. def main(): texas() # Call the texas function california() # Call the california function # texas function creates a local variable named birds. def texas(): birds = 5000 print('texas has', birds, 'birds.') # california function also creates a local variable named birds. def california(): birds = 8000 print('california has', birds, 'birds.') main() # Call the main function
24
Arguments Argument: value (data) that is sent into a function
Function can use argument in calculations Argument is placed in parentheses after function name Received by parameter in function If variable is used, its value cannot be changed Only value is sent to function
25
Passing Arguments to Functions Example
26
Parameter Variable Assigned the value of an argument when the function is called The parameter and the argument have same value General format: def function_name(parameter): Scope of a parameter: only the function in which the parameter is used
27
Parameter In Use
28
Parameter Demonstration
# pass_arg.py # This program demonstrates an argument being passed to a function. def main(): value = 5 show_double(value) # The show_double function accepts an argument # and displays double its value. def show_double(number): result = number * 2 print(result) # Call the main function. main()
29
Passing Multiple Arguments
Python allows writing a function that accepts multiple arguments Parameter list replaces single parameter Parameter list items separated by comma Arguments are passed by position to corresponding parameters First parameter receives value of first argument, second parameter receives value of second argument, etc.
30
Passing Multiple Arguments Example
31
Multiple Parameters In Action
# multiple_args.py # This program demonstrates a function that accepts two arguments. def main(): print('The sum of 12 and 45 is') show_sum(12, 45) # The show_sum function accepts two arguments and displays their sum. def show_sum(num1, num2): result = num1 + num2 print(result) # Call the main function. main()
32
Making Changes to Parameters
Changes made to a parameter value within the function do not affect the argument Known as pass by value Provides a way for unidirectional communication between one function and another function Calling function can communicate with called function
33
Making Changes to Parameters In Use
34
Making Changes to Parameters In Use (Continued)
Figure 5-18 The value variable passed to the change_me function cannot be changed by it
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.