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!
推薦閱讀:
- Python 語句的表達式和縮進
- Python基礎教程之名稱空間以及作用域
- Python的數據類型與標識符和判斷語句詳解
- Python萬字深入內存管理講解
- Python3自帶工具2to3.py 轉換 Python2.x 代碼到Python3的操作