29e9db0c58
Addresses issue #1709.
30 lines
449 B
Python
30 lines
449 B
Python
# testing default args to a function
|
|
|
|
def fun1(val=5):
|
|
print(val)
|
|
|
|
fun1()
|
|
fun1(10)
|
|
|
|
def fun2(p1, p2=100, p3="foo"):
|
|
print(p1, p2, p3)
|
|
|
|
fun2(1)
|
|
fun2(1, None)
|
|
fun2(0, "bar", 200)
|
|
try:
|
|
fun2()
|
|
except TypeError:
|
|
print("TypeError")
|
|
try:
|
|
fun2(1, 2, 3, 4)
|
|
except TypeError:
|
|
print("TypeError")
|
|
|
|
# lambda as default arg (exposes nested behaviour in compiler)
|
|
def f(x=lambda:1):
|
|
return x()
|
|
print(f())
|
|
print(f(f))
|
|
print(f(lambda:2))
|