20250513(arg_kwarg)

Run Settings
LanguagePython
Language Version
Run Command
# 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) # assign x=2 as local variable a() # case 3 non-default argument follows default argument #def a(x=1, y, z): # Error: non-default argument follows default argument # print("function a",x) #a(2,1) # 2 assign to x 1 assign to y and missing value for z # case 4 better arrange all assigment 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("case 5 : 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 assigns to x, error: got multiple values for argument 'x' # once use keyword argument, the rest must be keyword argument #a(z=4,2,3) # error : positional argument follows keyword argument #a(2,z=4,3) # error : positional argument follows keyword argument a(2,3,z=4) a(z=4,y=3,x=1) # all value with keyword argument # case 6 def a(x,y,z=1): print("case 6 : 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) 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 8 :",x,y,arg,z) # 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 but 8 were given def a(*,z): print("function a case 13 :",z) #a(1,2,3,4,5,6,7,8) # Error a(z=1) # case 14 **kwarg def a(*,z,**kwarg): # after *, arguments must be getting keyword assignment from caller print("function a case 14 :",z,kwarg) a(z=1,y=2,x=3) #a(1,y=2,x=3) Error # 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,sep='$') a(2,4,z=1,y=2,x=3) #help(print)
Editor Settings
Theme
Key bindings
Full width
Lines