中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python如何引用參數傳遞對象

發布時間:2020-07-22 16:06:34 來源:億速云 閱讀:195 作者:小豬 欄目:開發技術

小編這次要給大家分享的是Python如何引用參數傳遞對象,文章內容豐富,感興趣的小伙伴可以來了解一下,希望大家閱讀完這篇文章之后能夠有所收獲。

大家都知道在python中,一切皆對象,變量也不再具有類型,變量僅僅是對象的一個引用,我們通常用變量來測類型,通常測得就是被這個變量引用得對象的類型。

python采用的是傳遞對象的引用,為了方便說明,我們來看一個例子:

test = [1]
def change1(a):
  a = [2]

def change2(a):
  a.append(3)

change1(test)
change2(test)
print test

我們來看一下最后的輸出:

[1,3]

是不是有人誤以為是[2,3]?那你可得好好看接下來的內容。

傳參傳的是對象的引用!!!!!!

所以在change1(a)函數中,我們知道形參a與test引用了同一塊內存空間,然后a在函數內部被修改了,它執行了另一塊內存空間,也就是存放[2]的地方,但是只是a的指向改變了,test的指向還是存放[1]的內存空間。所以,接下來change2()對這塊內存空間上放的值進行了修改,就得到了我們最后看到的結果。

為了加深理解,我覺得有必要再舉一個類繼承的例子:

class Parent(object):
	x = 1
​ class Child1(Parent):
	pass
​ class Child2(Parent):
	pass
​ print Parent.x, Child1.x, Child2.x
Child1.x = 2
​ print Parent.x, Child1.x, Child2.x
Parent.x = 3
​ print Parent.x, Child1.x, Child2.x​
輸出結果為:
1 1 1
1 2 1
3 2 3

在繼承中,所有子類中的x原本都是引用的父類中x對象的存儲空間,但是child1中的x單獨指向了另一塊存儲空間。這樣以來,的到這個結果也就不意外了

看完這篇關于Python如何引用參數傳遞對象的文章,如果覺得文章內容寫得不錯的話,可以把它分享出去給更多人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

京山县| 南川市| 兴海县| 康定县| 林西县| 贵定县| 白玉县| 闸北区| 舟曲县| 柘城县| 苏尼特右旗| 璧山县| 兴隆县| 宾川县| 开远市| 巴南区| 化德县| 芜湖市| 淳安县| 镇远县| 肥乡县| 永兴县| 平远县| 汤阴县| 宝应县| 视频| 夏邑县| 诸城市| 长葛市| 东港市| 阿瓦提县| 和政县| 城口县| 玉环县| 灵台县| 株洲县| 五台县| 类乌齐县| 伊金霍洛旗| 金秀| 临洮县|