Unit 5 · Lesson 2
Parameters & Return Values
Pass data in, get results out.
Use default parameter values
Return multiple values
Understand None as implicit return
Design flexible signatures
Default Parameters
Give parameters default values — callers can override or skip:
def power(base, exponent=2):
return base ** exponent
print(power(5)) # 25
print(power(5, 3)) # 125
Returning Multiple Values
def min_max(a, b, c):
return min(a,b,c), max(a,b,c)
smallest, biggest = min_max(3,1,7)
None alert: If a function has no
return, it returns None. Check your returns if you get None unexpectedly!Practice Time
Challenges
Challenge 1: Power Function
Guided
Write power() with a default exponent.
Instructions:
power(base, exponent=2) returns base**exponent.Hint:
return base ** exponentChallenge 2: Min and Max
Guided
Return both min and max of three numbers.
Instructions:
min_max(a,b,c) returns (smallest, largest). Don't use built-in min/max.Hint: Compare with if/elif, then
return smallest, largestChallenge 3: Validation Function
Solo
Write is_valid_email checking for @ and dot.
Instructions:
is_valid_email(email) returns True if it contains "@", has a "." after the @, and is 5+ chars.Hint: Check
"@" in email and "." in email.split("@")[-1] and len(email) >= 5Challenge 4: Flexible Greeting
Stretch
Multiple default parameters.
Instructions:
greet(name, greeting="Hello", punctuation="!") returns f"{greeting}, {name}{punctuation}".Hint:
return f"{greeting}, {name}{punctuation}"