0% found this document useful (0 votes)
10 views32 pages

Python Lesson 8 Functions and Parameters

Introduction to Python - Lesson 8 - Functions and Parameters. Programming with python using functions and parameters.

Uploaded by

incunabulis
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
10 views32 pages

Python Lesson 8 Functions and Parameters

Introduction to Python - Lesson 8 - Functions and Parameters. Programming with python using functions and parameters.

Uploaded by

incunabulis
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Lesson 8

Functions and
Parameters
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
Introduction to Functions (1 of 2)
• Function: group of statements within a program that
perform as specific task
– Usually one task of a large program
§ Functions can be executed in order to perform overall
program task
– Known as divide and conquer approach
• Modularized program: program wherein each task
within the program is in its own function
Introduction to Functions (2 of 2)

Using functions to divide and conquer a large task


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
Void Functions and Value-Returning
Functions
• A void function:
– Simply executes the statements it contains and then
terminates.
• A value-returning function:
– Executes the statements it contains, and then it returns
a value back to the statement that called it.
§ The input, int, and float functions are examples of
value-returning functions.
Defining and Calling a Function (1 of 5)
• Functions are given names
– Function naming rules:
§ Cannot use keywords 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
Defining and Calling a Function (2 of 5)
• 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
statement
Defining and Calling a Function (3 of 5)
• 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
Defining and Calling a Function (4 of 5)
• Call a function to execute it
– When a function is called:
§ Interpreter jumps to the function and executes
statements in the block
§ Interpreter jumps back to part of program that called the
function
– Known as function return
Defining and Calling a Function (5 of 5)
• main function: called when the program starts
– Calls other functions when they are needed
– Defines the mainline logic of the program
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
Designing a Program to Use Functions
(1 of 3)

• 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
Designing a Program to Use Functions
(2 of 3)

• 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
Designing a Program to Use Functions
(3 of 3)

A hierarchy chart
Using the pass Keyword
• You can use the pass keyword to create empty
functions
• The pass keyword is ignored by the Python
interpreter
• This can be helpful when designing a program

def step1():
pass

def step2():
pass
Local Variables (1 of 2)
• Local variable: variable that is assigned a value inside
a function
– Belongs to the function in which it was created
§ Only statements inside that function can access it, error
will occur if another function tries to access the variable

• Scope: the part of a program in which a variable may


be accessed
– For local variable: function in which created
Local Variables (2 of 2)
• Local variable cannot be accessed by statements
inside its function which precede its creation
• Different functions may have local variables with the
same name
– Each function does not see the other function’s local
variables, so no confusion
Passing Arguments to Functions (1 of 4)
• Argument: piece of data that is sent into a function
– Function can use argument in calculations
– When calling the function, the argument is placed in
parentheses following the function name
Passing Arguments to Functions (2 of 4)

The value variable is passed as an argument


Passing Arguments to Functions (3 of 4)
• Parameter variable: variable that is assigned the value
of an argument when the function is called
– The parameter and the argument reference the same
value
– General format:
– def function_name(parameter):
– Scope of a parameter: the function in which the
parameter is used
Passing Arguments to Functions (4 of 4)

The value variable and the number parameter reference the same value
Passing Multiple Arguments (1 of 2)
• 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.
Passing Multiple Arguments (2 of 2)

Two arguments passed to two parameters


Making Changes to Parameters (1 of 3)
• 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
Making Changes to Parameters (2 of 3)

The value variable is passed to the change_me function


Making Changes to Parameters (3 of 3)
• The value variable passed to the change_me
function cannot be changed by it

The value variable is passed to the change_me function


Keyword Arguments
• Keyword argument: argument that specifies which
parameter the value should be passed to
– Position when calling function is irrelevant
– General Format:
– function_name(parameter=value)
• Possible to mix keyword and positional arguments
when calling a function
– Positional arguments must appear first
Global Variables and Global Constants
(1 of 2)

• Global variable: created by assignment statement


written outside all the functions
– Can be accessed by any statement in the program file,
including from within a function
– If a function needs to assign a value to the global
variable, the global variable must be redeclared within
the function
§ General format: global variable_name
Global Variables and Global Constants
(2 of 2)

• Reasons to avoid using global variables:


– Global variables making debugging difficult
§ Many locations in the code could be causing a wrong
variable value
– Functions that use global variables are usually
dependent on those variables
§ Makes function hard to transfer to another program
– Global variables make a program hard to understand
Global Constants
• Global constant: global name that references a value
that cannot be changed
– Permissible to use global constants in a program
– To simulate global constant in Python, create global
variable and do not re-declare it within functions
Summary
• This lesson covered:
– The advantages of using functions
– The syntax for defining and calling a function
– Methods for designing a program to use functions
– Use of local variables and their scope
– Syntax and limitations of passing arguments to
functions
– Global variables, global constants, and their
advantages and disadvantages

You might also like