Python變量引用賦值在代碼中y = 7x = y
x = 8現(xiàn)在,y將是7,x將是8.但實(shí)際上我想改變y。我可以指定y的參考并執(zhí)行此操作嗎?例如,在C ++中可以實(shí)現(xiàn)同樣的目的,int y = 8;int &x = y;x = 9;現(xiàn)在y&x都是9
7 回答

月關(guān)寶盒
TA貢獻(xiàn)1772條經(jīng)驗(yàn) 獲得超5個(gè)贊
不,Python沒(méi)有這個(gè)功能。
如果你有一個(gè)列表(或任何其他可變對(duì)象),你可以通過(guò)改變x和y綁定的對(duì)象來(lái)做你想要的事情:
>>> x = [7]
>>> y = x
>>> y[0] = 8
>>> print x
[8]

慕田峪7331174
TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超13個(gè)贊
你應(yīng)該使用一個(gè)可變對(duì)象。
在python中x,y它只是對(duì)象的引用,因此y = 7意味著y指向?qū)ο?。 x=y意味著x也指向7,但是因?yàn)樗?是不可變的,所以改變x的值只是改變了對(duì)象7并y仍然指向7。
>>> y = [7]
>>> x = y
>>> x[0] = 8 # here you're changing [7] not x or y, x & y are just references to [7]
>>> y
[8]

夢(mèng)里花落0921
TA貢獻(xiàn)1772條經(jīng)驗(yàn) 獲得超6個(gè)贊
或者,您可以使用自制容器。
class Value(object): def __init__(self, value): self.value = value y = Value(7)x = y x.value = 8print y.value
添加回答
舉報(bào)
0/150
提交
取消