Re: [問題] 新手請益

看板Python作者 (kid...)時間16年前 (2009/03/19 21:55), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串4/16 (看更多)
※ 引述《justlink (('(oo)'))》之銘言: : ※ 引述《Tiberius (渴望平凡的幸福)》之銘言: : : 這是 "e " 被自動 intern 了,所以兩者是「同一個物件」 : : 這是沒有被 intern 的情形 : : 請參考內建函式 intern() 的說明,一般來說「不要假設字串會被自動 intern」 : : 比對字串內容是否相符的時候,請用 == : 所以如果在採用 is 判斷是否同一個物件的時候, : 要小心是否被intern(),那再請問,如果此時要採用 is 做 reference 的判斷, : 有其他方法麼? : 或者可以採用何者方式,避免自動被intern() ? 用變數裝起來 ex. a = "e " b = "e " print( a is b ) false 這種寫法比較直覺 因為通常reference就是用一個變數去承接 is又是檢查是否為同一物件 因此不容易混淆 print( e is "e " ) 這種寫法 我個人認為比較不pythonic 因為你讓python幫你偷偷做了一些事 你會搞混到底是==還是is 也許python根本不該讓這種語法通過... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.119.203.55 ※ 編輯: superGA 來自: 140.119.203.55 (03/19 21:56) ※ 編輯: superGA 來自: 140.119.203.55 (03/19 21:57)
文章代碼(AID): #19max7Fv (Python)
討論串 (同標題文章)
本文引述了以下文章的的內容:
以下文章回應了本文
完整討論串 (本文為第 4 之 16 篇):
1
1
1
2
文章代碼(AID): #19max7Fv (Python)