关于Python踩坑,a = "//" 之后 a is "//" 语句是否为True?


    这两天踩了个坑,用写LCS的时候,发现

这里写图片描述vc+1xNfz09Ky2df3yv21xLXY1rfKx7fxz+C1yKOuyOe5+8rHzazSu7j2ttTP86Os1PK3tbvYVHJ1ZaOst/HU8re1u9hGYWxzZS48L3A+Cgo8cD48aW1nIHNyYz0="http://www.2cto.com/uploadfile/Collfiles/20150211/20150211085719250.png" alt="这里写图片描述" title="\">

这里要特别注意,以后变量判断是否等于某一常量的时候,如果使用is,可能永远都是False.

但是遇到个坑,

a = "+"? a is "+"
a = "\\"? a is "\\"

两则后面一个语句的bool值是不同的...前者为真,后者为假...

感谢@凯旋冲锋 找到这个blog.link里面的博文讲的很清楚.不过感觉我还是有些不理解...
http://guilload.com/python-string-interning/
这里可能和转义字符有关系.









这里写图片描述

评论关闭