User-de ned
functions
P Y T H O N D ATA S C I E N C E TO O L B O X ( PA R T 1 )
Hugo Bowne-Anderson
Instructor
You’ll learn:
De ne functions without parameters
De ne functions with one parameter
De ne functions that return a value
Later: multiple arguments, multiple return values
PYTHON DATA SCIENCE TOOLBOX (PART 1)
Built-in functions
str()
x = str(5)
print(x)
'5'
print(type(x))
<class 'str'>
PYTHON DATA SCIENCE TOOLBOX (PART 1)
De ning a function
def square(): # <- Function header
new_value = 4 ** 2 # <- Function body
print(new_value)
square()
16
PYTHON DATA SCIENCE TOOLBOX (PART 1)
Function parameters
def square(value):
new_value = value ** 2
print(new_value)
square(4)
16
square(5)
25
PYTHON DATA SCIENCE TOOLBOX (PART 1)
Return values from functions
Return a value from a function using return
def square(value):
new_value = value ** 2
return new_value
num = square(4)
print(num)
16
PYTHON DATA SCIENCE TOOLBOX (PART 1)
Docstrings
Docstrings describe what your function does
Serve as documentation for your function
Placed in the immediate line after the function header
In between triple double quotes """
def square(value):
"""Return the square of a value."""
new_value = value ** 2
return new_value
PYTHON DATA SCIENCE TOOLBOX (PART 1)
Let's practice!
P Y T H O N D ATA S C I E N C E TO O L B O X ( PA R T 1 )
Multiple Parameters
and Return Values
P Y T H O N D ATA S C I E N C E TO O L B O X ( PA R T 1 )
Hugo Bowne-Anderson
Instructor
Multiple function parameters
Accept more than 1 parameter:
def raise_to_power(value1, value2):
"""Raise value1 to the power of value2."""
new_value = value1 ** value2
return new_value
Call function: # of arguments = # of parameters
result = raise_to_power(2, 3)
print(result)
PYTHON DATA SCIENCE TOOLBOX (PART 1)
A quick jump into tuples
Make functions return multiple values: Tuples!
Tuples:
Like a list - can contain multiple values
Immutable - can’t modify values!
Constructed using parentheses ()
even_nums = (2, 4, 6)
print(type(even_nums))
<class 'tuple'>
PYTHON DATA SCIENCE TOOLBOX (PART 1)
Unpacking tuples
Unpack a tuple into several print(a)
variables:
2
even_nums = (2, 4, 6)
a, b, c = even_nums print(b)
print(c)
PYTHON DATA SCIENCE TOOLBOX (PART 1)
Accessing tuple elements
Access tuple elements like you second_num = even_nums[1]
do with lists:
print(second_num)
even_nums = (2, 4, 6)
print(even_nums[1]) 4
Uses zero-indexing
4
PYTHON DATA SCIENCE TOOLBOX (PART 1)
Returning multiple values
def raise_both(value1, value2):
"""Raise value1 to the power of value2
and vice versa."""
new_value1 = value1 ** value2
new_value2 = value2 ** value1
new_tuple = (new_value1, new_value2)
return new_tuple
result = raise_both(2, 3)
print(result)
(8, 9)
PYTHON DATA SCIENCE TOOLBOX (PART 1)
Let's practice!
P Y T H O N D ATA S C I E N C E TO O L B O X ( PA R T 1 )
Bringing it all
together
P Y T H O N D ATA S C I E N C E TO O L B O X ( PA R T 1 )
Hugo Bowne-Anderson
Instructor
You’ve learned:
How to write functions
Accept multiple parameters
Return multiple values
Up next: Functions for analyzing Twitter data
PYTHON DATA SCIENCE TOOLBOX (PART 1)
Basic ingredients of a function
Function Header
def raise_both(value1, value2):
Function body
"""Raise value1 to the power of value2
and vice versa."""
new_value1 = value1 ** value2
new_value2 = value2 ** value1
new_tuple = (new_value1, new_value2)
return new_tuple
PYTHON DATA SCIENCE TOOLBOX (PART 1)
Let's practice!
P Y T H O N D ATA S C I E N C E TO O L B O X ( PA R T 1 )
Congratulations!
P Y T H O N D ATA S C I E N C E TO O L B O X ( PA R T 1 )
Hugo Bowne-Anderson
Instructor
Next chapters:
Functions with default arguments
Functions that accept an arbitrary number of parameters
Nested functions
Error-handling within functions
More function use in data science!
PYTHON DATA SCIENCE TOOLBOX (PART 1)
Let's practice!
P Y T H O N D ATA S C I E N C E TO O L B O X ( PA R T 1 )