Discuss / Python / 本节打卡

本节打卡

Topic source

侧步微凉

#1 Created at ... [Delete] [Delete and Lock User]
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
      

  • 1

Reply