# parameter with default valuedef greet(name="Guest"): print(f"Hello, {name}!")greet()#ans: Hello, Guest!greet("Alice")#ans: Hello, Alice!
# multiple default parametersdef create_user(name, age=0, city="Unknown"): return f"{name}, {age}, {city}"result = create_user("Alice")#ans: "Alice, 0, Unknown"
# call with keyword argumentsdef describe(animal, name): print(f"{animal} named {name}")describe(name="Rex", animal="dog")#ans: dog named Rex
# accept any number of argumentsdef sum_all(*numbers): return sum(numbers)result = sum_all(1, 2, 3, 4)#ans: 10
# accept any keyword argumentsdef print_info(**info): for key, value in info.items(): print(f"{key}: {value}")print_info(name="Alice", age=25)#ans: name: Alice#ans: age: 25
# what is printed?def func(x=5): print(x)func()#ans: 5func(10)#ans: 10
# default parameter order?def func(a, b=10): return a + bfunc(5)#ans: 15
# can you do this?def func(a=5, b): return a + b#ans: SyntaxError (non-default after default)
# keyword arguments?def func(a, b): return a - bfunc(b=10, a=5)#ans: -5 (5 - 10)
# mixing positional and keyword?def func(a, b, c): return a + b + cfunc(1, c=3, b=2)#ans: 6
# *args type?def func(*args): return type(args)func(1, 2, 3)#ans: <class 'tuple'>
# **kwargs type?def func(**kwargs): return type(kwargs)func(a=1, b=2)#ans: <class 'dict'>
# combining parameters?def func(a, b=5, *args): return a + b + sum(args)func(1, 2, 3, 4)#ans: 10 (1+2+3+4)
# empty *args?def func(*args): return len(args)func()#ans: 0
# mutable default parameter?def func(x=[]): x.append(1) return xfunc()func()#ans: [1, 1] (same list object!)
Google tag (gtag.js)