File: fun_defargs.py

package info (click to toggle)
giac 1.9.0.35%2Bdfsg2-1.1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 113,448 kB
  • sloc: cpp: 394,793; ansic: 200,527; python: 30,548; javascript: 28,735; makefile: 8,328; yacc: 2,690; lex: 2,458; sh: 623; perl: 314; lisp: 216; asm: 62; java: 41; xml: 36; sed: 16; csh: 7; pascal: 6
file content (29 lines) | stat: -rw-r--r-- 449 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# testing default args to a function

def fun1(val=5):
    print(val)

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")

# lambda as default arg (exposes nested behaviour in compiler)
def f(x=lambda:1):
    return x()
print(f())
print(f(f))
print(f(lambda:2))