python 函数参数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 函数参数相关的知识,希望对你有一定的参考价值。
函数参数有4种:
必填参数:填入规定数量的参数,不能多,也不能少。
默认参数:把某位参数设置为默认值,这样在不输入的情况下,按默认值传递;即此参数可以不输入。
可变参数:参数可以任意给多少个都行。 习惯使用*args表示;*arg传入的是tuple。
关键字参数:= 默认参数 + 可变参数。 习惯使用**kw表示;**kw传入的是dict。
一、必填参数
def cal(x, y):
t = x + y;
return t;
二、默认参数
def cal(x, y = 0):
t = x + y ;
return t;
三、可变参数
#once way
def cal(number) #number 为list / tuple ---> cal([1, 2, 3, 4])
sum = 0;
for n in number:
sum = sum + n; #累加
return sum;
#twice way
tup = set(1, 2, 3)
def cal(*number) #number 为tuple ---> cal(tup)
sum = 0;
for n in number:
sum = sum + n; #累加
return sum;
#other way
tup = set(1, 2, 3)
def cal(*number) #number 为tuple ---> cal(tup[0], tup[1], tup[2])
sum = 0;
for n in number:
sum = sum + n; #累加
return sum;
四、关键字参数
#once way
def person(name, age, **kw)
print "name:%s"%name, print "age:",age, print "other:" kw
也可以传入任意个数的关键字参数:
>>> person('Adam', 45, gender='M', job='Engineer')
name: Adam age: 45 other: {'gender': 'M', 'job': 'Engineer'}
先组装出一个dict,然后,把该dict转换为关键字参数传进去:
>>> kw = {'city': 'Beijing', 'job': 'Engineer'}
>>> person('Jack', 24, city=kw['city'], job=kw['job'])
name: Jack age: 24 other: {'city': 'Beijing', 'job': 'Engineer'}
简化的写法:
>>> kw = {'city': 'Beijing', 'job': 'Engineer'}
>>> person('Jack', 24, **kw)
name: Jack age: 24 other: {'city': 'Beijing', 'job': 'Engineer'}
五、组合
组合顺序:必填参数、可选参数、可变参数、关键字参数
def func(a, b, c=0, *args, **kw):
print 'a =', a, 'b =', b, 'c =', c, 'args =', args, 'kw =', kw
>>> func(1, 2) a = 1 b = 2 c = 0 args = () kw = {}
>>> args = (1, 2, 3, 4)
>>> kw = {'x': 99}
>>> func(*args, **kw)
a = 1 b = 2 c = 3 args = (4,) kw = {'x': 99}
程序参考于https://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/001374738449338c8a122a7f2e047899fc162f4a7205ea3000
以上是关于python 函数参数的主要内容,如果未能解决你的问题,请参考以下文章