python中如何判断两个字符串是否相等_python怎样判断两个字符串是否相同

2022-10-06 13:09:52

原标题:python怎样判断两个字符串是否相同

5fd95dced308c856df6b0927de6f4bbf.png

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

示例

9e7929cd0eb05c22e874e842ca3fac5c.png

使用注意事项

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

db4eff23da6c0a6aa2fd9925101d19e9.png

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

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

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

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

0594e383d3c8fa47cbd08588b58e3626.png

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

In [1]: def bar(self, x):

...: return self.x + y

...:

In [2]: class Foo(object):

...: x = 9

...: def __init__(self ,x):

...: self.x = x

...: bar = bar

...:

In [3]: foo = Foo(5)

In [4]: foo.bar is Foo.bar

Out[4]: False

In [5]: id(foo.bar) == id(Foo.bar)

Out[5]: True

原文至:https://www.py.cn/faq/python/12586.html

  • 作者:段元朋
  • 原文链接:https://blog.csdn.net/weixin_32534943/article/details/113968730
    更新时间:2022-10-06 13:09:52