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}

  

posted @   月亮上的石头  阅读(159)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示