Python:函數參數默認值

最近更新時間 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]
rss_feed