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