diff options
author | Paul Sokolovsky <pfalcon@users.sourceforge.net> | 2014-02-01 15:05:04 +0200 |
---|---|---|
committer | Paul Sokolovsky <pfalcon@users.sourceforge.net> | 2014-02-01 15:38:22 +0200 |
commit | 90750029df8d7fd24600cc4fe4c98a5b80731f28 (patch) | |
tree | 7e04bc8f0a079b79a7efcd634615ef3204f3f0ac /tests/basics/fun-defargs.py | |
parent | 532f2c30f66c9ff1e4f2aded29b98ba0db5ec341 (diff) | |
download | micropython-90750029df8d7fd24600cc4fe4c98a5b80731f28.tar.gz micropython-90750029df8d7fd24600cc4fe4c98a5b80731f28.zip |
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.
Diffstat (limited to 'tests/basics/fun-defargs.py')
-rw-r--r-- | tests/basics/fun-defargs.py | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/tests/basics/fun-defargs.py b/tests/basics/fun-defargs.py new file mode 100644 index 0000000000..0666b8c494 --- /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") |