example-arg-keywords-and-defaults.py 1.27 KB
Newer Older
1
2
#!/usr/bin/env python
from __future__ import print_function
3
4
import sys
import pydoc
5

6
sys.path.append('.')
7

8
from example import kw_func0, kw_func1, kw_func2, kw_func3, kw_func4, call_kw_func
9
from example import args_function, args_kwargs_function, kw_func_udl, kw_func_udl_z
10
from example import KWClass
11

12
13
print(pydoc.render_doc(kw_func0, "Help on %s"))
print(pydoc.render_doc(kw_func1, "Help on %s"))
14
print(pydoc.render_doc(kw_func2, "Help on %s"))
15
print(pydoc.render_doc(kw_func3, "Help on %s"))
16
print(pydoc.render_doc(kw_func4, "Help on %s"))
17
print(pydoc.render_doc(kw_func_udl, "Help on %s"))
18
print(pydoc.render_doc(kw_func_udl_z, "Help on %s"))
19
20
print(pydoc.render_doc(args_function, "Help on %s"))
print(pydoc.render_doc(args_kwargs_function, "Help on %s"))
21

22
23
24
25
26
27
print(KWClass.foo0.__doc__)
print(KWClass.foo1.__doc__)

kw_func1(5, 10)
kw_func1(5, y=10)
kw_func1(y=10, x=5)
28
29
30
31
32
33
34
35
36
37

kw_func2()

kw_func2(5)
kw_func2(x=5)

kw_func2(y=10)

kw_func2(5, 10)
kw_func2(x=5, y=10)
38
39
40
41
42

try:
    kw_func2(x=5, y=10, z=12)
except Exception as e:
    print("Caught expected exception: " + str(e))
43
44

kw_func4()
45
kw_func4(myList=[1, 2, 3])
46
47

call_kw_func(kw_func2)
48
49
50

args_function('arg1_value', 'arg2_value', 3)
args_kwargs_function('arg1_value', 'arg2_value', arg3='arg3_value', arg4=4)
51
52

kw_func_udl(x=5, y=10)
53
kw_func_udl_z(x=5)