day10 参数args kwargs 作用域】的更多相关文章

函数参数/作用域/args/kwargs 1.参数 1.1参数基本知识 任意个数 任意类型 func("1",True) 1.2位置传参(调用函数并传入参数) def func(a1,a2): pass func(1)#缺少位置参数 func(1,2,3)#多了位置参数 1.3关键字传参 def func(a1,a2): pass func(a2=99,a1=2)#根据形参名字传入值 1.4关键字传参和位置传参可以混合使用 注意:位置参数在前 关键字参数在后,总和参数个数要和函数参数个…
一.函数的动态参数 *args,**kwargs, 形参的顺序1.你的函数,为了拓展,对于传入的实参数量应该是不固定,所以就需要用到万能参数,动态参数,*args, **kwargs 1,*args 将所有实参的位置参数聚合到一个元组,并将这个元组赋值给args(起作用的是* 并不是args,但是约定俗成动态接收实参的所有位置参数就用args) def sum1(*args): print(args) sum1(1,2,['hello']) #是一个元组(1, 2, ['hello']) 2,*…
转自https://www.cnblogs.com/ellisonzhang/p/10243122.html 一.函数的动态参数 *args,**kwargs, 形参的顺序 1.你的函数,为了拓展,对于传入的实参数量应该是不固定,所以就需要用到万能参数,动态参数,*args, **kwargs 1,*args 将所有实参的位置参数聚合到一个元组,并将这个元组赋值给args(起作用的是* 并不是args,但是约定俗成动态接收实参的所有位置参数就用args) def sum1(*args): pri…
python可变参数*args, **kwargs def foo(* args, ** kwargs): print ' args = ',  args print ' kwargs = ',  kwargs print '---------------------------------------' if __name__ == '__main__': foo(1,2,3,4) foo(a=1,b=2,c=3) foo(1,2,3,4, a=1,b=2,c=3) foo('a', 1, N…
一.函数的动态参数 *args,**kwargs, 形参的顺序1.你的函数,为了拓展,对于传入的实参数量应该是不固定,所以就需要用到万能参数,动态参数,*args, **kwargs 1,*args 将所有实参的位置参数聚合到一个元组,并将这个元组赋值给args(起作用的是* 并不是args,但是约定俗成动态接收实参的所有位置参数就用args) def sum1(*args): print(args) sum1(1,2,['hello']) #是一个元组(1, 2, ['hello']) 2,*…
1. 动态参数 位置参数的动态参数: *args 关键字参数的动态参数 : **kwargs 顺序: 位置,*args,默认值,**kwargs 在形参上*聚合, **聚合 在实参上*打散, **打散例 # def chi(good_food, bad_food,drink, ice, jiu):# print("我要吃", good_food, bad_food)## chi("盖浇饭", "辣条") # 位置参数 > *动态参数 >…
def func(*args, **kwargs): print 'args : ', args print 'kwargs :', kwargs def test(): func(1,2,'x','y') ''' 输出结果: args : (1, 2, 'x', 'y') kwargs : {} ''' func(a=1,b=2,c=3) ''' 输出结果: args : () kwargs : {'a': 1, 'c': 3, 'b': 2} ''' func(1,2,'x','y', a=…
#!/usr/bin/env pythondef foo(*args,**kwargs): print('args: {0}'.format(args)) print('kwargs {0}'.format(kwargs)) foo(1,2,3,a='first',b='second') 运行结果: args: (1, 2, 3)     #位置参数是一个元组kwargs {'b': 'second', 'a': 'first'}   #关键字参数是一个字典…
毕业多年,把C++都就饭吃了....今天居然在纠结什么是形参什么是实参..... 定义函数里面写的参数就是形参,因为没有内存占用,实际调用时写的参数就是实参,因为有内存占用和传值 然后就是位置参数,可变参数和关键字参数 def foo(a,*b,**c): print(a) print(b) print(c) if __name__=="__main__": foo(1,2,3,4,k=1,g=2) 如上图程序,a,*b,**c这三个是形参,a,*b这两个是位置参数,**c是关键字参数…
def f1(*args,**kwargs): print(args,type(args)) print(kwargs,type(kwargs))li = [11,22,33]dic = {'k1':1,'k2':2}f1(*li,**dic)…