python中如何判断两个字符串是否相等_python怎样判断两个字符串是否相同
原標(biāo)題:python怎樣判斷兩個(gè)字符串是否相同
python中,判斷兩個(gè)字符串是否相等或一樣,可以使用==或者is來(lái)判斷;判斷不一樣可以使用 is not。
示例
使用注意事項(xiàng)
1.有時(shí)候兩個(gè)字符串打印出來(lái)看著一樣,但是判斷卻是False?如果兩個(gè)字符串末尾有其他符號(hào),比如回車‘\n’,print的時(shí)候無(wú)法發(fā)現(xiàn)的,所以需要strip:
2.有時(shí)候==判斷是 True ,is 判斷卻是 False?
這是因?yàn)閮蓚€(gè)字符串來(lái)自不同的內(nèi)存塊,內(nèi)存地址不一樣
id() 函數(shù)用于獲取對(duì)象的內(nèi)存地址。
(ob1 is ob2) 等價(jià)于 (id(ob1) == id(ob2)) id函數(shù)可以獲得對(duì)象的內(nèi)存地址,如果兩個(gè)對(duì)象的內(nèi)存地址是一樣的,那么這兩個(gè)對(duì)象肯定是一個(gè)對(duì)象。和is是等價(jià)的.
3.還有一種情況是兩個(gè)對(duì)象用is判斷是False,用id判斷卻是True。原理比較復(fù)雜,如下:
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
總結(jié)
以上是生活随笔為你收集整理的python中如何判断两个字符串是否相等_python怎样判断两个字符串是否相同的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: orm连接mysql_Django项目如
- 下一篇: python乐观锁代码实现_Elasti