python中怎么比较两个字符串是否相同

图片[1]-python中怎么比较两个字符串是否相同-uusu优素-乐高,模型,3d打印,编程

在python中,判断两个变量是否相等或一样,可以使用==或者is来判断;判断不一样可以使用 is not。

示例

使用注意事项

1.有时候两个字符串打印出来看着一样,但是判断却是False?如果两个字符串末尾有其他符号,比如回车‘\n’,print的时候无法发现的,所以需要strip:

a=a.strip()
b=b.strip()
ifa==b:
print"True"

2.有时候==判断是 True ,is 判断却是 False?

这是因为两个字符串来自不同的内存块,内存地址不一样

id() 函数用于获取对象的内存地址。

(ob1 is ob2) 等价于 (id(ob1) == id(ob2)) id函数可以获得对象的内存地址,如果两个对象的内存地址是一样的,那么这两个对象肯定是一个对象。和is是等价的.

3.还有一种情况是两个对象用is判断是False,用id判断却是True。原理比较复杂,如下:

In[1]:defbar(self,x):
...:returnself.x+y
...:
In[2]:classFoo(object):
...:x=9
...:def__init__(self,x):
...:self.x=x
...:bar=bar
...:
In[3]:foo=Foo(5)
In[4]:foo.barisFoo.bar
Out[4]:False
In[5]:id(foo.bar)==id(Foo.bar)
Out[5]:True
原文来自:https://www.py.cn
© 版权声明
THE END
喜欢就支持一下吧
点赞14 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容