• 技术文章 >常见问题 >Python常见问题

    python怎么判断两个字符串不相等

    silencementsilencement2019-08-28 10:24:09原创14749

    字符串操作是编程语言中经常用到的,常见的有字符串增、删、改、查。在python中,判断两个字符串是否相等或一样,可以使用==或者is来判断;判断不一样可以使用 is not。

    示例

    使用注意事项

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

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

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

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

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

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

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    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

    专题推荐:字符串
    上一篇:python中判断一个数是否为int 下一篇:python判断一个数是不是整数

    相关文章推荐

    • python的时间函数怎么用• python判断目录是否存在• python中怎么判断不等于

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网