• 技术文章 >Python技术 >Python基础教程

    python is和==的区别有哪些

    爱喝马黛茶的安东尼爱喝马黛茶的安东尼2019-12-24 14:20:11原创3759

    is 与 == 区别:

    is 用于判断两个变量引用对象是否为同一个, == 用于判断引用变量的值是否相等。

    a is b 相当于 id(a)==id(b),id() 能够获取对象的内存地址。

    如果 a=10;b=a; 则此时 a 和 b 的内存地址一样的;

    但当 a=[1,2,3]; 另 b=a[:] 时,虽然 a 和 b 的值一样,但内存地址不一样。

    如果此时定义 a=10、b=10, 然后再对比 a is b 会发现返回的结果是 True,这是因为在 Python 中会实现创建一个小型的整形池,范围为 [-5,256],为这些整形开辟好内存空间,当代码中定义该范围内的整形时,不会再重新分配内存地址。而我在 Pycharm 中进行测试:

    #coding=utf-8
    a=100000000000;
    b=100000000000;
    print a is b

    结果:

    True

    Python出于对性能的考虑,但凡是不可变对象,在同一个代码块中的对象,只有是值相同的对象,就不会重复创建,而是直接引用已经存在的对象。

    python学习网,大量的免费python视频教程,欢迎在线学习!

    专题推荐:python is == 区别
    上一篇:python怎么连接telnet 下一篇:如何用python获取图像

    相关文章推荐

    • Python中==和is有什么区别• 详细分析Python中运算符"=="和"is"的差别

    全部评论我要评论

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

  • 取消发布评论
  • 

    Python学习网