日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > python >内容正文

python

python中的引用怎么理解_Python函数通过引用调用

發(fā)布時(shí)間:2023/12/10 python 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python中的引用怎么理解_Python函数通过引用调用 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

基本上有三種'函數(shù)調(diào)用':通過(guò)價(jià)值

通過(guò)引用傳遞

通過(guò)對(duì)象引用傳遞

Python是一種PASS-BY-OBJECT-REFERENCE編程語(yǔ)言。

首先,重要的是要理解一個(gè)變量,變量(對(duì)象)的值是兩個(gè)獨(dú)立的東西。變量'指向'對(duì)象。變量不是對(duì)象。再次:

變量不是對(duì)象

示例:在以下代碼行中:>>> x = []

[]是空列表,x是指向空列表的變量,但x本身不是空列表

將變量(x,在上述情況下)視為一個(gè)框,將變量([])的“值”視為框內(nèi)的對(duì)象。

通過(guò)對(duì)象引用(python中的情況):

這里,“對(duì)象引用按值傳遞”。def append_one(li):

li.append(1)x = [0]append_one(x)print x

這里,語(yǔ)句x = [0]產(chǎn)生一個(gè)指向?qū)ο骩0]的變量x(box)

在被調(diào)用的函數(shù)上,創(chuàng)建了一個(gè)新的li。li的內(nèi)容是SAME作為box x的內(nèi)容。兩個(gè)框都包含相同的對(duì)象。也就是說(shuō),兩個(gè)變量都指向內(nèi)存中的同一個(gè)對(duì)象。因此,li指向的對(duì)象的任何更改也將由x指向的對(duì)象反映。

總之,上述計(jì)劃的產(chǎn)出將是:

[0,1]

注意:

如果在函數(shù)中重新分配變量li,則li將指向內(nèi)存中的單獨(dú)對(duì)象。但是,x將繼續(xù)指向它之前指向的內(nèi)存中的同一個(gè)對(duì)象。

例:def append_one(li):

li = [0, 1]x = [0]append_one(x)print x

該計(jì)劃的輸出將是:

[0]

通過(guò)參考:

調(diào)用函數(shù)的框傳遞給被調(diào)用函數(shù)。隱含地,框的內(nèi)容(變量的值)被傳遞給被調(diào)用的函數(shù)。因此,對(duì)被調(diào)用函數(shù)中的框內(nèi)容的任何更改都將反映在調(diào)用函數(shù)中。

通過(guò)價(jià)值:

在被調(diào)用函數(shù)中創(chuàng)建一個(gè)新框,并將來(lái)自調(diào)用函數(shù)的框內(nèi)容的副本存儲(chǔ)到新框中。

希望這可以幫助。

總結(jié)

以上是生活随笔為你收集整理的python中的引用怎么理解_Python函数通过引用调用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。