Py Toolbox 1

Download as pdf or txt
Download as pdf or txt
You are on page 1of 22

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 )

You might also like