fun_defargs.py 449 B

1234567891011121314151617181920212223242526272829
  1. # testing default args to a function
  2. def fun1(val=5):
  3. print(val)
  4. fun1()
  5. fun1(10)
  6. def fun2(p1, p2=100, p3="foo"):
  7. print(p1, p2, p3)
  8. fun2(1)
  9. fun2(1, None)
  10. fun2(0, "bar", 200)
  11. try:
  12. fun2()
  13. except TypeError:
  14. print("TypeError")
  15. try:
  16. fun2(1, 2, 3, 4)
  17. except TypeError:
  18. print("TypeError")
  19. # lambda as default arg (exposes nested behaviour in compiler)
  20. def f(x=lambda:1):
  21. return x()
  22. print(f())
  23. print(f(f))
  24. print(f(lambda:2))