参数默认使用python中的其他参数

时间:2016-11-01 04:39:30

标签: python

是否有可能在Python中做这样的事情?

def func(list, l = len(list)):
    print list, l

2 个答案:

答案 0 :(得分:4)

这通常是如何完成的

def func(list, l = None):
    if l is None:
        l = len(list)
    print list, l

作为旁注,请避免使用内置类型/函数名作为变量名(如此处list

答案 1 :(得分:1)

尽可能接近:

def func(list, l = None):
    print list, l if l is not None else len(l)

首次遇到函数时会计算默认参数。由于此时不知道list,这不是您想要的。