# positional parameters def add_two(a,b): return a+b print(""" def add_two(a=1,b=0): return a+b """) # add_two(1,4): function call: positional parameters: 1, 4 # in the call: a <- 1, b <- 4 print(f"add_two(1,4): {add_two(1,4)}") # add_two(a=1,b=4): named arguments: a, b print(f"add_two(a=1,b=4): {add_two(a=1,b=4)}") # tinker to change the order of named arguments print(f"add_two(b=4,a=1): {add_two(b=4,a=1)}") # using different names ''' print(f"add_two(x=1,y=4): {add_two(x=1,y=4)}") Traceback (most recent call last): File "C:\CS1_S26\website\demo\param_1.py", line 21, in print(f"add_two(x=1,y=4): {add_two(x=1,y=4)}") ~~~~~~~^^^^^^^^^ TypeError: add_two() got an unexpected keyword argument 'x' ''' print(f"add_two(-1,40): {add_two(-1,40)}") def add_two_with_default(a=1,b=2): return a+b print(""" def add_two_with_default(a=1,b=2): return a+b """) print(f"add_two_with_default(1,4): {add_two_with_default(1,4)}") print(f"add_two_with_default(a=1,b=4): {add_two_with_default(a=1,b=4)}") print(f"add_two_with_default(-1,40): {add_two_with_default(-1,40)}") # a <- 8, b <- 2 (default) print(f"add_two_with_default(8): {add_two_with_default(8)}") # b <- 1 (named argument; a <- 1 (default) print(f"add_two_with_default(b=1): {add_two_with_default(b=1)}") print(f"add_two_with_default(): {add_two_with_default()}") # Positional parameters and keyworded (named) parameters. # A parameter has a position and a name. def introduce(name, age): print(f"My name is {name} and I am {age} years old.") return 'done' print(""" def introduce(name, age): print(f"My name is {name} and I am {age} years old.") return 'done' """) print(f"introduce('Jane', 19): {introduce('Jane', 19)}") print(f"introduce(19,'Jane'): {introduce(19,'Jane')}") print(f"introduce(name='Jane', age=19): {introduce(name='Jane', age=19)}") print(f"introduce(age=19,name='Jane'): {introduce(age=19,name='Jane')}")