Python中引用傳參四種方式介紹

引用傳參一:

​​>>> a = 100 #這裡的a是不可變類型
>>> def test(a):
... a+=a
#這個式子有兩層含義:1.這裡可能是重新定義一個新的變量a,2.也有可能是修改a的值,但由於全局
#變量a不能修改,所以此處是重新定義瞭一個a;
... print("函數內:%d"%a)
...
>>> test(a)
函數內:200
>>> print(a)
100

​引用傳參二:

​​>>> a = [100] #這裡的a是一個列表,是可變類型
>>> def test(a):
... a+=a #由於列表a是可變類型,所以這裡是修改a
... print("函數內:")
... print(a)
...
>>> test(a)
函數內:
[100, 100]
>>> print(a)
[100, 100]

​​引用傳參三:

​​>>> a = 100
>>> def test(a):
... a=a+a #最初為瞭好理解,所以可以認為a+=a等價於a=a+a,所以這裡同引用傳參一
... print("函數內:%d"%a)
...
>>> test(a)
函數內:200
>>> print(a)
100

​​引用傳參四:

​​>>> a = [100]
>>> def test(a):
#1. 先算 =號右邊的
#2. 算出來的結果是[100,100]
#3. a = [100,100]
#4. 讓a變量指向瞭[100,100],即a保存的是[100,100]的引用(內存地址)
... a=a+a #對於這種情況,等號左邊的a是重新定義的一個量,此時a=a+a與a+=a不一樣
... print("函數內:")
... print(a)
...
>>> test(a)
函數內:
[100, 100]
>>> print(a)
[100]

總結

到此這篇關於Python中引用傳參四種方式介紹的文章就介紹到這瞭,更多相關Python引用傳參內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: