對象與引用

python中一切皆對象,

python中一切皆引用铅歼。


對象這是權(quán)威書籍中都有的話公壤,但引用就不是了,根據(jù)c語言中的引用理解python中的‘變量’椎椰,更好理解厦幅。

引用指向?qū)ο螅瑢ο蟛卦谝煤筮吙荒芡ㄟ^引用對對象操作确憨,在python中所能見到的都是這個引用,而引用這個數(shù)據(jù)類型只保存一個數(shù)據(jù)就是對象的地址瓤的。

python中的數(shù)據(jù)類型分可變和不可變類型

字符串休弃,元組,set圈膏,都是不可變塔猾,生成后其值無法改變,只能通過改變引用指向其他字符串來改變

>>> a="hello"

>>> id(a)

3070406016L

>>> a="world"

>>> id(a)

3070405952L

字典和列表都是可變對象稽坤,能通過引用對其改變

>>> a=[1,2,3,4]

>>> id(a)

3074666124L

>>> a[1]=5

>>> a

[1, 5, 3, 4]

>>> id(a)

3074666124L

一個對象賦值給引用表示把對象的地址賦值給了引用

一個引用賦值給引用 表示 把引用中的地址賦值給引用

>>> a=[1,2,3]

>>> b=a

>>> b

[1, 2, 3]

>>> a[0]=4

>>> b

[4, 2, 3]

有了上邊的鋪墊就能理解下邊的函數(shù)中的參數(shù)

在大部分編程語言中丈甸,函數(shù)的參數(shù)都是“值傳遞”,c語言中的引用和指針雖然有址傳遞慎皱,但是那個址是指針或者引用的值老虫,根本上講也是傳遞的其中的內(nèi)容 值,而且是復(fù)制進(jìn)去的茫多。

a=[1,2]

def f(arg):

??? arg.append(3)

print(a)

f(a)

print(a)

==========================

[1, 2]

[1, 2, 3]


結(jié)果會改變因為arg這個引用也指向a所以可以通過arg改變a值類似下邊代碼

a=[1,2]

b=a

b.append(3)

print(a,b)

[1, 2, 3] [1, 2, 3]

看另一個例子:

a=[1,2]

def f(arg):

??? arg=[3,4]

print(a)

f(a)

print(a)

結(jié)果

[1, 2]

[1, 2]

并沒有改變a的值祈匙,因為參數(shù)傳遞的是引用的值就是參數(shù)指向了a指向的地址 但是在函數(shù)里把另一對像的地址賦值給了這個參數(shù),至此參數(shù)跟a沒有任何關(guān)系了天揖,類似于下邊代碼

a=[1,2]

b=a

b=[3,4]

print(a,b)

這一切都是因為:

一切皆對象

一切皆引用

=賦值永遠(yuǎn)給的是地址

參數(shù)永遠(yuǎn)是新的引用







最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末夺欲,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子今膊,更是在濱河造成了極大的恐慌些阅,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,104評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件斑唬,死亡現(xiàn)場離奇詭異市埋,居然都是意外死亡,警方通過查閱死者的電腦和手機恕刘,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,816評論 3 399
  • 文/潘曉璐 我一進(jìn)店門缤谎,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人褐着,你說我怎么就攤上這事坷澡。” “怎么了含蓉?”我有些...
    開封第一講書人閱讀 168,697評論 0 360
  • 文/不壞的土叔 我叫張陵频敛,是天一觀的道長项郊。 經(jīng)常有香客問我,道長斟赚,這世上最難降的妖魔是什么着降? 我笑而不...
    開封第一講書人閱讀 59,836評論 1 298
  • 正文 為了忘掉前任,我火速辦了婚禮拗军,結(jié)果婚禮上鹊碍,老公的妹妹穿的比我還像新娘。我一直安慰自己食绿,他們只是感情好侈咕,可當(dāng)我...
    茶點故事閱讀 68,851評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著器紧,像睡著了一般耀销。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上铲汪,一...
    開封第一講書人閱讀 52,441評論 1 310
  • 那天熊尉,我揣著相機與錄音,去河邊找鬼掌腰。 笑死狰住,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的齿梁。 我是一名探鬼主播催植,決...
    沈念sama閱讀 40,992評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼勺择!你這毒婦竟也來了创南?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,899評論 0 276
  • 序言:老撾萬榮一對情侶失蹤省核,失蹤者是張志新(化名)和其女友劉穎稿辙,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體气忠,經(jīng)...
    沈念sama閱讀 46,457評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡邻储,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,529評論 3 341
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了旧噪。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片吨娜。...
    茶點故事閱讀 40,664評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖舌菜,靈堂內(nèi)的尸體忽然破棺而出萌壳,到底是詐尸還是另有隱情亦镶,我是刑警寧澤日月,帶...
    沈念sama閱讀 36,346評論 5 350
  • 正文 年R本政府宣布袱瓮,位于F島的核電站,受9級特大地震影響爱咬,放射性物質(zhì)發(fā)生泄漏尺借。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 42,025評論 3 334
  • 文/蒙蒙 一精拟、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦谴咸、人聲如沸旁钧。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,511評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽怪瓶。三九已至,卻和暖如春践美,著一層夾襖步出監(jiān)牢的瞬間洗贰,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,611評論 1 272
  • 我被黑心中介騙來泰國打工陨倡, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留敛滋,地道東北人。 一個月前我還...
    沈念sama閱讀 49,081評論 3 377
  • 正文 我出身青樓兴革,卻偏偏與公主長得像绎晃,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子杂曲,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,675評論 2 359

推薦閱讀更多精彩內(nèi)容

  • http://python.jobbole.com/85231/ 關(guān)于專業(yè)技能寫完項目接著寫寫一名3年工作經(jīng)驗的J...
    燕京博士閱讀 7,583評論 1 118
  • 關(guān)于JS基礎(chǔ)類型箕昭、復(fù)雜類型的總結(jié); 基礎(chǔ)類型(5種)包括: Undefined解阅、Null落竹、String、Boole...
    尹薩薩閱讀 399評論 0 0
  • 關(guān)鍵詞:對象货抄,對象引用述召,基本數(shù)據(jù)類型,傳值 對象聲明 定義Person類:(為了方便說明蟹地,我們定義的類)publi...
    秋燈鎖憶閱讀 644評論 0 0
  • 脈油門怪与,大家吼夺刑!雙十一剁掉的手,有沒有長回來幾雙啊遍愿??? 因為存淫,你們很快又要開始剁了…… 今天是剁手黨們的另一個狂歡...
    脈八君閱讀 431評論 0 0
  • 必將是這樣的你咿咿呀呀的舞步無名指最難觸及的通途 夏花桅咆,春雨街頭動情的長夜和弦起,節(jié)拍不曾失落 只不過多了一行休止...
    2020號閱讀 1,434評論 96 83