作者justlink (('(oo)'))
看板Python
标题Re: [问题] 新手请益
时间Thu Mar 19 23:15:48 2009
※ 引述《superGA (kid...)》之铭言:
: ※ 引述《justlink (('(oo)'))》之铭言:
: : 所以如果在采用 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根本不该让这种语法通过...
喔~不是的。
而是我用变数装起来也会发生同样的事情,我想是我这个example 举的不够完善,
a = "e "
b = "e "
print( a is b )
同样会得到 True
这是利用 IDLE 直接 run module的结果。
跟上述的情形一样。
但是在 shell 底下就不会有此结果。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.115.156.210