Learn Python 3 - Functions
Learn Python 3 - Functions
Functions
Function Parameters
Sometimes functions require input to provide data for
their code. This input is de ned using parameters. def write_a_book(character, setting,
Parameters are variables that are de ned in the special_skill):
function de nition. They are assigned the values which print(character + " is in " +
were passed as arguments when the function was
setting + " practicing her " +
called, elsewhere in the code.
special_skill)
For example, the function de nition de nes parameters
for a character, a setting, and a skill, which are used as
inputs to write the rst sentence of a book.
Multiple Parameters
Python functions can have multiple parameters. Just as
you wouldn’t go to school without both a backpack and def ready_for_school(backpack, pencil_case):
a pencil case, functions may also need more than one if (backpack == 'full' and pencil_case ==
input to carry out their operations. 'full'):
To de ne a function with multiple parameters,
print ("I'm ready for school!")
parameter names are placed one after another,
separated by commas, within the parentheses of the
function de nition.
Functions
Some tasks need to be performed multiple times within
a program. Rather than rewrite the same code in # Define a function my_function() with
multiple places, a function may be de ned using the parameter x
def keyword. Function de nitions may include
parameters, providing data input to the function. def my_function(x):
Functions may return a value using the return keyword
return x + 1
followed by the value to return.
print(my_function(2)) # Output: 3
print(my_function(3 + 5)) # Output: 9
Function Indentation
Python uses indentation to identify blocks of code.
Code within the same block should be indented at the # Indentation is used to identify code blocks
same level. A Python function is one type of code
block. All code under a function declaration should be def testfunction(number):
indented to identify it as part of the function. There can # This code is part of testfunction
be additional indentation within a function to handle
print("Inside the testfunction")
other statements such as for and if so long as the
sum = 0
lines are not indented less than the rst line of the
for x in range(number):
function code.
# More indentation because 'for' has
a code block
# but still part of he function
sum += x
return sum
print("This is not part of testfunction")
Calling Functions
Python uses simple syntax to use, invoke, or call a
preexisting function. A function can be called by writing doHomework()
the name of it, followed by parentheses.
For example, the code provided would call the
doHomework() method.
Function Arguments
Parameters in python are variables — placeholders for
the actual values the function needs. When the def sales(grocery_store, item_on_sale, cost):
function is called, these values are passed in as print(grocery_store + " is selling "
arguments. + item_on_sale + " for " + cost)
For example, the arguments passed into the function
.sales() are the “The Farmer’s Market”, “toothpaste”,
sales("The Farmer’s Market", "toothpaste",
and “$1” which correspond to the parameters
"$1")
grocery_store , item_on_sale , and cost .
year_to_check = 2018
returned_value
= check_leap_year(year_to_check)
print(returned_value) # 2018 is not a leap
year.
Global Variables
A variable that is de ned outside of a function is called
a global variable. It can be accessed inside the body of a = "Hello"
a function.
In the example, the variable a is a global variable def prints_a():
because it is de ned outside of the function prints_a .
print(a)
It is therefore accessible to prints_a , which will print
the value of a .
# will print "Hello"
prints_a()