函数可变参数
#可变参数允许你传入0个或任意个参数,这些可变参数在函数调用时自动组装为一个tuple。
def calc(*number):
sum = 0
for x in number:
sum = sum + x * x
return sum
#直接调用
print(calc(5,5,5))
#列表参数调用:*num表示把num这个list的所有元素作为可变参数传进去
num = [1,2,3]
print(calc(*num))
#练习:传入一个或多个参数并计算参数乘积
def product(x,*args):
if len(args):
sum = 1
for m in args:
sum = sum * m
return x * sum
else:
return x
函数关键字参数
#关键字参数允许你传入0个或任意个含参数名的参数,这些关键字参数在函数内部自动组装为一个dict。
def person(name,age,**kw):
print(name,age,‘other:’,kw)
#直接调用
person(‘sungang’,27,sex=‘男’,job=‘Python Engineer’)
#sungang 27 other: {‘job’: ‘Python Engineer’, ‘sex’: ‘男’}
#dist参数调用
#注意:otherInfo表示把otherInfo这个dict的所有key-value用关键字参数传入到函数的kw参数,kw将获得一个dict,kw获得的dict是otherInfo的一份拷贝,对kw的改动不会影响到函数外的otherInfo