python 函式相關定義
阿新 • • 發佈:2018-12-20
函式分為定義和呼叫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在定義前使用。