Functions
INTRODUCTION TO PYTHON
Hugo Bowne-Anderson
Data Scientist at DataCamp
Functions
Nothing new!
type()
Piece of reusable code
Solves particular task
Call function instead of writing code yourself
INTRODUCTION TO PYTHON
Example
fam = [1.73, 1.68, 1.71, 1.89]
fam
[1.73, 1.68, 1.71, 1.89]
max(fam)
1.89
INTRODUCTION TO PYTHON
Example
fam = [1.73, 1.68, 1.71, 1.89]
fam
[1.73, 1.68, 1.71, 1.89]
max(fam)
1.89
INTRODUCTION TO PYTHON
Example
fam = [1.73, 1.68, 1.71, 1.89]
fam
[1.73, 1.68, 1.71, 1.89]
max(fam)
1.89
INTRODUCTION TO PYTHON
Example
fam = [1.73, 1.68, 1.71, 1.89]
fam
[1.73, 1.68, 1.71, 1.89]
max(fam)
1.89
tallest = max(fam)
tallest
1.89
INTRODUCTION TO PYTHON
round()
round(1.68, 1)
1.7
round(1.68)
help(round) # Open up documentation
Help on built-in function round in module builtins:
round(number, ndigits=None)
Round a number to a given precision in decimal digits.
The return value is an integer if ndigits is omitted or None.
Otherwise the return value has the same type as the number. ndigits may be negative.
INTRODUCTION TO PYTHON
round()
help(round)
Help on built-in function round in module builtins:
round(number, ndigits=None)
Round a number to a given precision in decimal digits.
The return value is an integer if ndigits is omitted or None.
Otherwise the return value has the same type as the number. ndigits may be negative.
INTRODUCTION TO PYTHON
round()
help(round)
Help on built-in function round in module builtins:
round(number, ndigits=None)
Round a number to a given precision in decimal digits.
The return value is an integer if ndigits is omitted or None.
Otherwise the return value has the same type as the number. ndigits may be negative.
INTRODUCTION TO PYTHON
round()
help(round)
Help on built-in function round in module builtins:
round(number, ndigits=None)
Round a number to a given precision in decimal digits.
The return value is an integer if ndigits is omitted or None.
Otherwise the return value has the same type as the number. ndigits may be negative.
INTRODUCTION TO PYTHON
round()
help(round)
Help on built-in function round in module builtins:
round(number, ndigits=None)
Round a number to a given precision in decimal digits.
The return value is an integer if ndigits is omitted or None.
Otherwise the return value has the same type as the number. ndigits may be negative.
INTRODUCTION TO PYTHON
round()
help(round)
Help on built-in function round in module builtins:
round(number, ndigits=None)
Round a number to a given precision in decimal digits.
The return value is an integer if ndigits is omitted or None.
Otherwise the return value has the same type as the number. ndigits may be negative.
INTRODUCTION TO PYTHON
round()
help(round)
Help on built-in function round in module builtins:
round(number, ndigits=None)
Round a number to a given precision in decimal digits.
The return value is an integer if ndigits is omitted or None.
Otherwise the return value has the same type as the number. ndigits may be negative.
INTRODUCTION TO PYTHON
round()
help(round)
Help on built-in function round in module builtins:
round(number, ndigits=None)
Round a number to a given precision in decimal digits.
The return value is an integer if ndigits is omitted or None.
Otherwise the return value has the same type as the number. ndigits may be negative.
INTRODUCTION TO PYTHON
round()
help(round)
Help on built-in function round in module builtins:
round(number, ndigits=None)
Round a number to a given precision in decimal digits.
The return value is an integer if ndigits is omitted or None.
Otherwise the return value has the same type as the number. ndigits may be negative.
INTRODUCTION TO PYTHON
round()
help(round)
Help on built-in function round in module builtins:
round(number, ndigits=None)
Round a number to a given precision in decimal digits.
The return value is an integer if ndigits is omitted or None.
Otherwise the return value has the same type as the number. ndigits may be negative.
INTRODUCTION TO PYTHON
round()
help(round)
Help on built-in function round in module builtins:
round(number, ndigits=None)
Round a number to a given precision in decimal digits.
The return value is an integer if ndigits is omitted or None.
Otherwise the return value has the same type as the number. ndigits may be negative.
INTRODUCTION TO PYTHON
round()
help(round)
Help on built-in function round in module builtins:
round(number, ndigits=None)
Round a number to a given precision in decimal digits.
The return value is an integer if ndigits is omitted or None.
Otherwise the return value has the same type as the number. ndigits may be negative.
INTRODUCTION TO PYTHON
round()
help(round)
Help on built-in function round in module builtins:
round(number, ndigits=None)
Round a number to a given precision in decimal digits.
The return value is an integer if ndigits is omitted or None.
Otherwise the return value has the same type as the number. ndigits may be negative.
INTRODUCTION TO PYTHON
round()
help(round)
Help on built-in function round in module builtins:
round(number, ndigits=None)
Round a number to a given precision in decimal digits.
The return value is an integer if ndigits is omitted or None.
Otherwise the return value has the same type as the number. ndigits may be negative.
round(number)
round(number, ndigits)
INTRODUCTION TO PYTHON
Find functions
How to know?
Standard task -> probably function exists!
The internet is your friend
INTRODUCTION TO PYTHON
Let's practice!
INTRODUCTION TO PYTHON
Methods
INTRODUCTION TO PYTHON
Hugo Bowne-Anderson
Data Scientist at DataCamp
Built-in Functions
Maximum of list: max()
Length of list or string: len()
Get index in list: ?
Reversing a list: ?
INTRODUCTION TO PYTHON
Back 2 Basics
sister = "liz"
height = 1.73
fam = ["liz", 1.73, "emma", 1.68,
"mom", 1.71, "dad", 1.89]
INTRODUCTION TO PYTHON
Back 2 Basics
sister = "liz"
height = 1.73
fam = ["liz", 1.73, "emma", 1.68,
"mom", 1.71, "dad", 1.89]
Methods: Functions that
belong to objects
INTRODUCTION TO PYTHON
Back 2 Basics
sister = "liz"
height = 1.73
fam = ["liz", 1.73, "emma", 1.68,
"mom", 1.71, "dad", 1.89]
Methods: Functions that
belong to objects
INTRODUCTION TO PYTHON
list methods
fam
['liz', 1.73, 'emma', 1.68, 'mom', 1.71, 'dad', 1.89]
fam.index("mom") # "Call method index() on fam"
fam.count(1.73)
INTRODUCTION TO PYTHON
str methods
sister
'liz'
sister.capitalize()
'Liz'
sister.replace("z", "sa")
'lisa'
INTRODUCTION TO PYTHON
Methods
Everything = object
Object have methods associated, depending on type
sister.replace("z", "sa")
'lisa'
fam.replace("mom", "mommy")
AttributeError: 'list' object has no attribute 'replace'
INTRODUCTION TO PYTHON
Methods
sister.index("z")
fam.index("mom")
INTRODUCTION TO PYTHON
Methods (2)
fam
['liz', 1.73, 'emma', 1.68, 'mom', 1.71, 'dad', 1.89]
fam.append("me")
fam
['liz', 1.73, 'emma', 1.68, 'mom', 1.71, 'dad', 1.89, 'me']
fam.append(1.79)
fam
['liz', 1.73, 'emma', 1.68, 'mom', 1.71, 'dad', 1.89, 'me', 1.79]
INTRODUCTION TO PYTHON
Summary
Functions
type(fam)
list
Methods: call functions on objects
fam.index("dad")
INTRODUCTION TO PYTHON
Let's practice!
INTRODUCTION TO PYTHON
Packages
INTRODUCTION TO PYTHON
Hugo Bowne-Anderson
Data Scientist at DataCamp
Motivation
Functions and methods are powerful
All code in Python distribution?
Huge code base: messy
Lots of code you won’t use
Maintenance problem
INTRODUCTION TO PYTHON
Packages
Directory of Python Scripts
Each script = module
Specify functions, methods,
types
Thousands of packages
available
NumPy
Matplotlib
scikit-learn
INTRODUCTION TO PYTHON
Install package
h p://pip.readthedocs.org/en/stable/installing/
Download get-pip.py
Terminal:
python3 get-pip.py
pip3 install numpy
INTRODUCTION TO PYTHON
Import package
import numpy import numpy as np
array([1, 2, 3]) np.array([1, 2, 3])
NameError: name 'array' is not defined array([1, 2, 3])
numpy.array([1, 2, 3]) from numpy import array
array([1, 2, 3])
array([1, 2, 3])
array([1, 2, 3])
INTRODUCTION TO PYTHON
from numpy import array
my_script.py
from numpy import array
fam = ["liz", 1.73, "emma", 1.68,
"mom", 1.71, "dad", 1.89]
...
fam_ext = fam + ["me", 1.79]
...
print(str(len(fam_ext)) + " elements in fam_ext")
...
np_fam = array(fam_ext)
Using NumPy, but not very clear
INTRODUCTION TO PYTHON
import numpy
import numpy as np
fam = ["liz", 1.73, "emma", 1.68,
"mom", 1.71, "dad", 1.89]
...
fam_ext = fam + ["me", 1.79]
...
print(str(len(fam_ext)) + " elements in fam_ext")
...
np_fam = np.array(fam_ext) # Clearly using NumPy
INTRODUCTION TO PYTHON
Let's practice!
INTRODUCTION TO PYTHON