【python】is 与 == 的思考

【一、使用背景】

接口测试中需要校验返回值与预期结果是否一致,在写的过程中遇到一个问题,接口返回是null,如下:

不知道该怎么校验,尝试过用None,'null',但是结果都不对,于是开始漫漫尝试之旅。最后发现可以用

==,表示值相等

【二、is 与 == 的思考】

1.pyhton 对象有3个基本要素:id(memery address),type、value

2.is:评判标准是value是否一致;==:评判标准是id是否是同一个

 

    print '列表:'
    m = []
    print id(m)
    print id([])
    print m is []
    print m == []

    print '元组:'
    j = ()
    print j is ()
    print j == ()

    print '字典:'
    k = {}
    print k is {}
    print k == {}

    print '常数:'
    h = 4
    print h is 4
    print h == 4

    print '特殊常数:'
    n = None
    print n is None
    print n == None

    print '字符串:'
    a = 'string'
    print a is 'string'
    print a == 'string'

运行后

【python】is 与 == 的思考_第1张图片

由上可知:

列表、 元组、字典型,a is b 是false,即,id(memory adderss)不是同一个

常数、特殊常数、字符串, a is b 是true,id是同一个

【感觉理解不够深,这个应该和指针有关系,后续阅读到相关书籍再补充】

 

你可能感兴趣的:(python)