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在定義前使用。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章