這篇文章主要介紹python中傳遞引用的方法有哪些,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!
創(chuàng)新互聯(lián)公司是一家專注于成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)與策劃設(shè)計(jì),阿克陶網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設(shè)十年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:阿克陶等地區(qū)。阿克陶做網(wǎng)站價(jià)格咨詢:18982081108
Python中函數(shù)參數(shù)是引用傳遞(注意不是值傳遞)。對(duì)于不可變類型,因變量不能修改,所以運(yùn)算不會(huì)影響到變量自身;而對(duì)于可變類型來說,函數(shù)體中的運(yùn)算有可能會(huì)更改傳入的參數(shù)變量。
引用傳參一:
>>> a = 100 #這里的a是不可變類型 >>> def test(a): ... a+=a #這個(gè)式子有兩層含義:1.這里可能是重新定義一個(gè)新的變量a,2.也有可能是修改a的值,但由于全局 #變量a不能修改,所以此處是重新定義了一個(gè)a; ... print("函數(shù)內(nèi):%d"%a) ... >>> test(a) 函數(shù)內(nèi):200 >>> print(a) 100
引用傳參二:
>>> a = [100] #這里的a是一個(gè)列表,是可變類型 >>> def test(a): ... a+=a #由于列表a是可變類型,所以這里是修改a ... print("函數(shù)內(nèi):") ... print(a) ... >>> test(a) 函數(shù)內(nèi): [100, 100] >>> print(a) [100, 100]
引用傳參三:
>>> a = 100 >>> def test(a): ... a=a+a #最初為了好理解,所以可以認(rèn)為a+=a等價(jià)于a=a+a,所以這里同引用傳參一 ... print("函數(shù)內(nèi):%d"%a) ... >>> test(a) 函數(shù)內(nèi):200 >>> print(a) 100
引用傳參四:
>>> a = [100] >>> def test(a): #1. 先算 =號(hào)右邊的 #2. 算出來的結(jié)果是[100,100] #3. a = [100,100] #4. 讓a變量指向了[100,100],即a保存的是[100,100]的引用(內(nèi)存地址) ... a=a+a #對(duì)于這種情況,等號(hào)左邊的a是重新定義的一個(gè)量,此時(shí)a=a+a與a+=a不一樣 ... print("函數(shù)內(nèi):") ... print(a) ... >>> test(a) 函數(shù)內(nèi): [100, 100] >>> print(a) [100]
事實(shí)上,我們可以通過打印相應(yīng)變量的地址來幫助我們理解,例如:
a是int類型的情況:
a是列表的情況:
以上是python中傳遞引用的方法有哪些的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
文章名稱:python中傳遞引用的方法有哪些
分享路徑:http://aaarwkj.com/article30/jjjopo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站、網(wǎng)站內(nèi)鏈、關(guān)鍵詞優(yōu)化、自適應(yīng)網(wǎng)站、營(yíng)銷型網(wǎng)站建設(shè)、小程序開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)