Quick actions

cmd+k|ctrl+k

Navigation

Languages

arg&kw_arg

Snippet info

Language

Python

Visibility

public

Author

legacy-v1-22796

Created

2025-05-13T06:14:54.629172Z

Updated

2025-05-13T09:03:56.420745Z

# case 1 simply, normal way
def a(x):
    print("function a",x)
a(1)
# case 2 set default value at function argument
def a(x=1):
    print("function a",x)
a(2)
a()
# case 3 non-default argument follows default argument
# def a(x=1,y,z):
#    print("function a",x)
# a(2,1) # 2 assign to x 1 assign to y and missing value for x
# case 4 better arrange all assignment at the end
def a(x,y,z=1):
    print("function a case 4 :",x,y,z)
a(2,3,4)
a(2,3)
# case 5 function call with keyword arguments
def a(x,y,z=1):
    print("function a",x,y,z)
a(2,z=4,y=3) # provide keyword at function call level, keyword order doesn't matter
# a(2,x=3) # 2 is still assign to x, get multiple values for argument 'x' 
# once use keyword argument, the rest must be keyword argument
# a(z=4,2,3) # error
a(z=4,y=3,x=1) # all value with keyword argument
# case 6
def a(x,y,z=1):
    print("function a",x,y,z)
a(y=2,x=1)
# -*arg----------------------
# case 7
def a(x,y,*arg):
    print("function a case 7 :",x,y,arg)
    print(type(arg))
a(1,2,3,4,5,6,7,8)
# case 8 missing 1 required keyword-only argument: 'z'
# def a(x,y,*arg,z):
#     print("function a case 9 :",x,y,arg,z)
#     print(arg[0]+arg[1])
# a(1,2,3,4,5,6,7,8) 
# case 9
def a(x,y,*arg,z=1):
    print("function a case 9 :",x,y,arg,z)
    print(arg[0]+arg[1])
a(1,2,3,4,5,6,7,8)    
# case 10
def a(x,y,z=1,*arg):
    print("function a case 10 :",x,y,arg,z)
a(1,2,3,4,5,6,7,8)    
a(1,2)
# case 11
def a(x,y,*arg,z):
    print("function a case 11 :",x,y,arg,z)
a(1,2,3,4,5,6,7,8,z=10)    
# case 12 missing 1 required keyword-only argument: 'z'
# def a(x,y,*arg,z):
#     print("function a case 12 :",x,y,arg,z)
# a(1,2)   
# case 13 * without arg variable a() takes 0 positional arguments byt 8 were given
def a(*,z):
    print("function a case 13 :",z)
# a(1,2,3,4,5,6,7,8)
a(z=1)
# case 14 **kwarg
def a(*,z,**kwarg):
    print("function a case 14 :",z,kwarg)
a(z=1,y=2,x=3)
# case 15 **kwarg
def a(v,w,z,**kwarg):
    print("function a case 15 :",v,w,z,kwarg)
a(2,4,z=1,y=2,x=3)   
# case 16 *arg **kwarg
def a(*arg, **kwarg):
    print("function a case 16 :",arg,kwarg)
a(2,4,z=1,y=2,x=3)    
def a(*, z):
    print(z)
a(z=4)   
def a(v,w,*,y,z,**kwarg): # after *, argument must be getting keyword assignment from caller
    print("function a case 14 :",v,w,y,z,kwarg)
a(4,5,z=1,y=2,x=3)    
# help(print)
# def a(arg,**kwarg):
#   print("function a case 16 :", arg, kwarg, sep = '$')
# a(2,4,z=1,y=2,'x'=3)    
INFO