这两天踩了个坑,用写LCS的时候,发现
程序里面用了这个写法,然后就一直bug.
有点无语.常量的储存类型和变量的储存类型分开了.
is 判断是比较的左右操作数的地址是否相等.如果是同一个对象,则返回True,否则返回False.
这里要特别注意,以后变量判断是否等于某一常量的时候,如果使用is,可能永远都是False.
但是遇到个坑,
a = "+"ː a is "+"
a = "\\"ː a is "\\"
两则后面一个语句的bool值是不同的...前者为真,后者为假...
感谢@凯旋冲锋 找到这个blog.link里面的博文讲的很清楚.不过感觉我还是有些不理解...
http://guilload.com/python-string-interning/
这里可能和转义字符有关系.