python_形參何時影響實參


§對於絕大多數情況下,在函數內部直接修改形參的值不會影響實參。例如:

 

>>> def addOne(a):

  print(a)

  a += 1

  print(a) 

>>> a = 3

>>> addOne(a)

3

4

>>> a

3

§在有些情況下,可以通過特殊的方式在函數內部修改實參的值,例如下面的代碼。

 

>>> def modify(v):          #修改列表元素值

  v[0] = v[0]+1

>>> a = [2]

>>> modify(a)

>>> a

[3]

>>> def modify(v, item):    #為列表增加元素

  v.append(item)

>>> a = [2]

>>> modify(a,3)

>>> a

[2, 3]

§也就是說, 如果傳遞給函數的是可變序列,並且在函數內部使用下標或可變序列自身的方法增加、刪除元素或修改元素時,修改后的結果是可以反映到函數之外的,實參也得到相應的修改。

 

>>> def modify(d): #修改字典元素值或為字典增加元素

  d['age'] = 38

>>> a = {'name':'Dong', 'age':37, 'sex':'Male'}

>>> a

{'age': 37, 'name': 'Dong', 'sex': 'Male'}

>>> modify(a)

>>> a

{'age': 38, 'name': 'Dong', 'sex': 'Male'}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM