看板 [ Python ]
討論串[問題] 新手請益
共 16 篇文章

推噓1(1推 0噓 1→)留言2則,0人參與, 最新作者justlink (('(oo)'))時間15年前 (2009/03/19 19:45), 編輯資訊
2
0
0
內容預覽:
版本 3.1a. 使用 win32 idle. e = "e ". print(e is "e "). 得到True. Shell 底下. >>> e = "e ". >>> e is "e ". False. 囧rz 這是?. 另外關於. round(2.5). 這個問題的答案為何是2?. --.

推噓0(0推 0噓 0→)留言0則,0人參與, 最新作者Tiberius (渴望平凡的幸福)時間15年前 (2009/03/19 20:59), 編輯資訊
1
0
0
內容預覽:
引述《justlink (('(oo)'))》之銘言:這是 "e " 被自動 intern 了,所以兩者是「同一個物件」這是沒有被 intern 的情形. 請參考內建函式 intern() 的說明,一般來說「不要假設字串會被自動 intern」. 比對字串內容是否相符的時候,請用 ==. pyt

推噓1(1推 0噓 0→)留言1則,0人參與, 最新作者justlink (('(oo)'))時間15年前 (2009/03/19 21:19), 編輯資訊
2
0
0
內容預覽:
所以如果在採用 is 判斷是否同一個物件的時候,. 要小心是否被intern(),那再請問,如果此時要採用 is 做 reference 的判斷,. 有其他方法麼?. 或者可以採用何者方式,避免自動被intern() ?. --. 發信站: 批踢踢實業坊(ptt.cc). ◆ From: 140

推噓0(0推 0噓 0→)留言0則,0人參與, 最新作者superGA (kid...)時間15年前 (2009/03/19 21:55), 編輯資訊
1
0
0
內容預覽:
引述《justlink (('(oo)'))》之銘言:用變數裝起來. ex. a = "e ". b = "e ". print( a is b ). false. 這種寫法比較直覺 因為通常reference就是用一個變數去承接. is又是檢查是否為同一物件 因此不容易混淆. print( e
(還有115個字)

推噓0(0推 0噓 0→)留言0則,0人參與, 最新作者justlink (('(oo)'))時間15年前 (2009/03/19 23:15), 編輯資訊
0
0
0
內容預覽:
喔~不是的。. 而是我用變數裝起來也會發生同樣的事情,我想是我這個example 舉的不夠完善,. a = "e ". b = "e ". print( a is b ). 同樣會得到 True. 這是利用 IDLE 直接 run module的結果。. 跟上述的情形一樣。. 但是在 shell 底