2015-12-12 13:42:51 +00:00
|
|
|
# testing default args to a function
|
|
|
|
|
2014-02-01 13:05:04 +00:00
|
|
|
def fun1(val=5):
|
2014-06-08 00:12:32 +01:00
|
|
|
print(val)
|
2014-02-01 13:05:04 +00:00
|
|
|
|
|
|
|
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")
|
2015-12-12 13:42:51 +00:00
|
|
|
|
|
|
|
# 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))
|