亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

把一個變量a賦值給另一個變量b

a = 'ABC'
b = a
a = 'XYZ'
print b

其中步驟的解釋說到在第三步a = 'XYZ'時,重新創建了一個新的字符串'XYZ'由a去指向,而b停留在了原來的a的'ABC'處。 ? 請問為什么不是a = 'XYZ'時將其原指向的'ABC'改變為'XYZ'呢?

正在回答

5 回答

你還沒理解重新賦值的概念吧,重新創建了一個新的字符串'XYZ'由a去指向就是說,新定義一個a = 'XYZ'(意思是說把XYZ的值賦給a),所以a = 'XYZ'和上面a = 'ABC'(把ABC值賦值給a)是沒有關聯的,所以不用去糾結。

0 回復 有任何疑惑可以回復我~

你的思路有點偏差:因為有了語句‘’b=a‘’, 所以b永遠指向a指向的內容,也就是,a去哪兒,b永遠跟著。

顯然不對。


1 回復 有任何疑惑可以回復我~

字符串‘ABC’保存在內存中,a 這個變量記錄的是‘ABC’在內存中的地址,當把a賦給b時,只是把 'ABC'的地址復制了一份給b, ?當a='XYZ'時, 是把‘XYZ’在內存中的地址賦值給了a, 取代了原來a保存的'ABC'的地址,而不是將a 指向的內存空間中的'ABC'內容改寫成了'XYZ'. ?這和c語言的指針是一毛一樣的。

1 回復 有任何疑惑可以回復我~

額,,,這個是因為python就這樣規定的,不然的話,又有人會問為什么不是在第三步a = 'XYZ'時,重新創建了一個新的字符串'XYZ'由a去指向,而b停留在了原來的a的'ABC'處?

0 回復 有任何疑惑可以回復我~

我們把a,b當做是人,'ABC','XYZ'當做是街

小a家地址ABC街

小a把房子租給小b

小a搬出去住,搬到XYZ街

問小b住在哪條街

(街道是不會變的,變的是住在里面的人。)

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
初識Python
  • 參與學習       758383    人
  • 解答問題       8967    個

學python入門視頻教程,讓你快速入門并能編寫簡單的Python程序

進入課程

把一個變量a賦值給另一個變量b

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號