Python函数
定义函数时:
def f(*args): print(args)
这种声明函数的方法,往里传参时需要按照顺序传,而且传的参数数目不定,得到的是个元组
1 2 3 4 5 6 | >>> def f( * args): print (args) >>> f( 1 , 2 , 3 ) ( 1 , 2 , 3 ) |
def f(**args): print(args)
这种的话,要按照映射关系传参数,不是按照顺序,传完会产生字典
1 2 3 4 5 6 | >>> def f( * * args): print (args) >>> f(a = 1 ,b = 2 ,c = 3 ) { 'a' : 1 , 'b' : 2 , 'c' : 3 } |
################################
调用函数时:
*x: 表示传的变量是个可迭代对象,第一次迭代出的内容赋值给第一个变量,以此类推,变量的数量和参数的数量要一致
1 2 3 4 5 6 7 | >>> def f(a,b,c): print (a + b + c) >>> l = [ 1 , 2 , 3 ] >>> f( * l) 6 |
**x:
按照字典的映射关系传参数
1 2 3 4 5 6 7 | >>> def f(a,b,c): print (a + b + c) >>> d = { 'a' : 1 , 'b' : 2 , 'c' : 3 } >>> f( * * d) 6 |
例:如果*和**一起出现,则**一定在*的后面
1 2 3 4 5 6 | >>> def f(a, * pargs, * * kargs): print (a, pargs, kargs) >>> f( 1 , 2 , 3 , 4 , x = 1 , y = 2 ) 1 ( 2 , 3 , 4 ) { 'x' : 1 , 'y' : 2 } |
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步