Python判断字符串相等
Python中,判断两个字符串是否相等或一样,可以使用 ==
或者 is
来判断;判断不一样可以使用 is not
;
>>> a = 'abcd' >>> b = 'abcd' >>> a == b True >>> a is b True >>> c = 'aaaa' >>> a is c False >>> a is not c True >>>
使用注意事项:
- 有时候两个字符串打印出来看着一样,但是判断却是
False
?如果两个字符串末尾有其他符号,比如回车\n
,print的时候无法发现的,所以需要strip:
a.strip() == b
有时候==判断是 True ,is 判断却是 False?这是因为两个字符串来自不同的内存块,内存地址不一样。id() 函数用于获取对象的内存地址。(ob1 is ob2) 等价于 (id(ob1) == id(ob2)) ;id()函数可以获得对象的内存地址,如果两个对象的内存地址是一样的,那么这两个对象肯定是一个对象,和is是等价的.
>>> af = 'af.txt' >>> a = af.split(".")[0] >>> a 'af' >>> b = 'af' >>> a == b True >>> a is b False >>> id(a) == id(b) False