Python:函数参数默认值
Lasted 2020-01-30 12:38:06
Python 函数可以指定一个或多个参数的默认值,这样创建的函数,可以使用比定义更少的参数调用。
def func(first, second='second'):
print(first, ':', second)
func('first')
first : second
默认值在函数定义时计算,下面案例会输出 2:
i = 2
def f(arg=i):
print(arg)
i = 3
f()
2
默认值只会执行一次,如果默认值为可变对象(列表、字典等)后续调用多次需要特别注意。
def f(a, L=[]):
L.append(a)
return L
print(f(1))
print(f(2))
print(f(3))
[1] [1, 2] [1, 2, 3]
def f(a, L=None):
if L is None:
L = []
L.append(a)
return L
print(f(1))
print(f(2))
print(f(3))
[1] [2] [3]