了解python中的函數使用,首先需要認識函數中幾種參數的用法。
(1) 看以下代碼段:
def change(val):
#change the value in the function
val = 'a'
互動環境中運作:
>>> value = 'b'
>>> change(value)
>>> value
'b'
由此可以看出,就算在函數中給參數指派,但這樣不會改變外部變量的值。這類似C語言中的函數内部變量作用域隻在函數内部,對函數外無關。即傳參為不可變參數(string, etc)時無法被改變。
(2) 類比C語言中的指針,當函數參數傳位址時可以改變變量的值,對于python來說,函數參數為可變資料結構(list, dict)時,其值可被改變;如下示例代碼段:
def change(val):
val[0] = 'ss'
互動環境中運作:
>>>value = ['aa', 'bb']
>>>change(value)
>>>value
['ss', 'bb']