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