From 90750029df8d7fd24600cc4fe4c98a5b80731f28 Mon Sep 17 00:00:00 2001 From: Paul Sokolovsky Date: Sat, 1 Feb 2014 15:05:04 +0200 Subject: Implement default function arguments (for Python functions). 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. --- tests/basics/fun-defargs.py | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 tests/basics/fun-defargs.py (limited to 'tests/basics/fun-defargs.py') diff --git a/tests/basics/fun-defargs.py b/tests/basics/fun-defargs.py new file mode 100644 index 000000000..0666b8c49 --- /dev/null +++ b/tests/basics/fun-defargs.py @@ -0,0 +1,20 @@ +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") -- cgit v1.2.3