Python函数

定义函数时:

def f(*args): print(args)

这种声明函数的方法,往里传参时需要按照顺序传,而且传的参数数目不定,得到的是个元组

>>> def f(*args):
	print(args)

	
>>> f(1,2,3)
(1, 2, 3)

  

def f(**args): print(args)

这种的话,要按照映射关系传参数,不是按照顺序,传完会产生字典

>>> def f(**args):
	print(args)

	
>>> f(a=1,b=2,c=3)
{'a': 1, 'b': 2, 'c': 3}

  

################################

调用函数时:

*x: 表示传的变量是个可迭代对象,第一次迭代出的内容赋值给第一个变量,以此类推,变量的数量和参数的数量要一致

>>> def f(a,b,c):
	print(a+b+c)

	
>>> l = [1,2,3]
>>> f(*l)
6

**x:   

按照字典的映射关系传参数

>>> def f(a,b,c):
	print(a+b+c)


>>> d={'a':1, 'b':2,'c':3}
>>> f(**d)
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 @ 2019-07-12 17:38  月亮上的石头  阅读(158)  评论(0编辑  收藏  举报