1. 程式人生 > >python 函式相關定義

python 函式相關定義

函式分為定義和呼叫2個狀態。

函式定義的時候,引數稱為形參,呼叫的時候,引數稱為實參。形參沒有具體的值,但是實參有值。

函式定義時,指定了預設值的引數是預設引數。預設引數的位置必須放在最後位置。

函式定義時,不確定引數的個數,可以使用非固定引數:列表(*args) 和 字典(**kwargs)定義。這樣,函式呼叫時,位置引數放在列表裡,指定了key=value這種形式的引數會被放在字典裡。

函式呼叫時,以位置順序確定對應關係的引數稱為位置引數;指定了引數名的引數稱為關鍵引數。關鍵引數必須放在位置引數後面。

 

在python中,‘變數就近查詢’是對實參而言。

這與c語言不同。對c語言來說,不分函式定義和呼叫,變數總是就近查詢。

程式碼1:

def test():
    print(str_temp)
    str_temp = 'e'
str_temp = "the king of sea."
test()

Python下,程式碼1會報錯:UnboundLocalError: local variable 'luffy' referenced before assignment

 

程式碼2:

def test():
   print(str_temp)
str_temp = "the king of sea."
test()

Python下,程式碼2不會報錯,列印"the king of sea."  但在c語言裡會報錯,因為變數str_temp在定義前使用。