1,当使用默认参数的时候,默认参数的默认值必须是一个不变对象
2,参数类型有且被使用的顺序为:位置参数,默认参数,可变参数,命名关键字参数,关键字参数
注意:当一个函数中有可变参数时,我一直有个疑问,需不需要对 args 进行类型判断,如:
下述代码如果在调用 product() 方法时为传任何参数,会抛出异常,针对这种情况,可以赋予 x 默认值
但练习题要求未传参数时报错,所以这里就不做处理了
def product(x, *args):
sum = x
if len(args) > 0:
for num in args:
sum = num*sum
elif len(args) == 0:
print('没有传可变参数时, args是一个空tuple,不是 None')
return sum
而空 tuple 也是可以被循环的,所以上述代码可以简写:
def product(x, *args):
sum = x
for num in args:
sum = num*sum
return sum
侧步微凉