1. 程式人生 > >python函式定義中引用外部變數的一個問題

python函式定義中引用外部變數的一個問題

如果在函式定義的預設值中引用了一個外部變數,如下所示

x = 3
def func(a = x):
    print(a, x)

  那麼a的預設值就會是3,

  但是print語句中的x會是呼叫時的x值

  lambda表示式同理

func = lambda a=x : a + x

  呼叫時的a的預設值是3,而x是實際變數值