Functions – Default Arguments

Tip: Choose Save as PDF in the print dialog to download. Use A4 paper size.

Functions – Default Arguments

Name:
Date:
Class:

Quick Questions

Shade in the A or B circle for each question.

1. What is a default argument?
A A pre-set value used when no argument is given
B The first argument
2. def greet(name='World'):\n print('Hi ' + name)\ngreet()\nWhat prints?
A Hi name
B Hi World
3. def greet(name='World'):\n print('Hi ' + name)\ngreet('Alice')\nWhat prints?
A Hi Alice
B Hi World
4. Where must default parameters go?
A After all required parameters
B Before required parameters
5. def power(base, exp=2):\n return base ** exp\npower(3)\nWhat returns?
A 6
B 9

Match the Pairs

Draw a line connecting each item on the left to its match on the right.

Left columnRight column
1def greet(greeting='Hi', name): pass AError: Missing required 'base'
2def power(base, exp=2): return base ** exp power(exp=3) BError: Default args must come last
3def greet(name='World'): print('Hi ' + name) COutput: Hi World
4def power(n, exp=2): return n ** exp DOutput: Hi Alice
5def hi(name='World'): print('Hi', name) hi() EOk: exp defaults to 2
6def hi(name='World'): print('Hi', name) hi('Alice') FValid: name is optional

Definitions

Default argument

Fill in the Blanks

Complete each line of code by filling in the missing parts.

1.
def greet(name=_______): print('Hi ' + name)
2.
def power(base, exp=_): return base ** exp
3.
def repeat(msg, _____=3): for i in range(times): print(msg)
4.
def greet(name='World'): print('Hi ' + name) greet(_______)
5.
def func(a, b=5, _=10): return a + b + c

Spot the Error

Shade in the letter of the line that contains an error.

Question 1
A def greet(name='World', msg):
B full = msg + ' ' + name
C print(full)
D return full
E greet('Hi')
Question 2
A def greet(name=World):
B msg = 'Hi ' + name
C print(msg)
D return msg
E greet()
Question 3
A def power(base, exp: 2):
B result = base ** exp
C print('Result:', result)
D return result
E power(3)
Question 4
A def greet(name = 'World'):
B msg = 'Hi ' + name
C print(msg)
D return msg
E greet()
Question 5
A def repeat(msg, times=3):
B for i in range(times):
C print(msg)
D
E repeat(times=2)

Answer Key

Functions – Default Arguments
Section A: Quick Questions
Q1
A — A pre-set value used when no argument is given
Q2
B — Hi World
Q3
A — Hi Alice
Q4
A — After all required parameters
Q5
B — 9
Section B: Match the Pairs
Q1
def greet(greeting='Hi', name): pass → Error: Default args must come last
Q2
def power(base, exp=2): return base ** exp power(exp=3) → Error: Missing required 'base'
Q3
def greet(name='World'): print('Hi ' + name) → Valid: name is optional
Q4
def power(n, exp=2): return n ** exp → Ok: exp defaults to 2
Q5
def hi(name='World'): print('Hi', name) hi() → Output: Hi World
Q6
def hi(name='World'): print('Hi', name) hi('Alice') → Output: Hi Alice
Section C: Definitions
Q1
Default argument — A pre-set value used when no argument is provided.~~Optional parameter
Section D: Fill in the Blanks
Q1
def greet(name='World'): print('Hi ' + name)
Q2
def power(base, exp=2): return base ** exp
Q3
def repeat(msg, times=3): for i in range(times): print(msg)
Q4
def greet(name='World'): print('Hi ' + name) greet('Alice')
Q5
def func(a, b=5, c=10): return a + b + c
Section E: Spot the Error
Q1
A — Default parameters must come AFTER required ones
Q2
A — Default value 'World' needs quotes: it's a string
Q3
A — Use = for default values, not : (colon is for type hints)
Q4
A — Convention: no spaces around = in default parameters (PEP 8 style)
Q5
E — msg is required: you must provide it even when using keyword arguments