90750029df
TODO: Decide if we really need separate bytecode for creating functions with default arguments - we would need same for closures, then there're keywords arguments too. Having all combinations is a small exponential explosion, likely we need just 2 cases - simplest (no defaults, no kw), and full - defaults & kw.
21 lines
269 B
Python
21 lines
269 B
Python
def fun1(val=5):
|
|
print(5)
|
|
|
|
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")
|