码迷,mamicode.com
首页 > 编程语言 > 详细

Python中is和==的区别

时间:2018-08-02 23:06:25      阅读:219      评论:0      收藏:0      [点我收藏+]

标签:类型   bcd   highlight   小数   abc   内存   int   数据   比较   

  ==是比较两端的值

  is是比较内存地址:

    数据的内存地址可用id()获取

    在Python中为了存储数据占用较小的内存,对于int类型和str类型内设了小数据池,其中的数据在被使用时,会使用同一内存地址。

  int类型的小数据池:

    数字的小数据池的范围是-5~256

>>> a = -6
>>> b = -6
>>> a is b
False

   str类型的小数据池:

    1.字符串中不能包含特殊字符

>>> s1 = ‘abcd+‘
>>> s2 = ‘abcd+‘
>>> s1 is s2
False

     2.字符串单个字符*20以内内存地址都是一样的,单个字符*21以上内存地址不一致

>>> s1 = ‘a‘*20
>>> s2 = ‘a‘*20
>>> s1 is s2
True
>>> s1 = ‘a‘ * 21
>>> s2 = ‘a‘ * 21
>>> s1 is s2
False

 

Python中is和==的区别

标签:类型   bcd   highlight   小数   abc   内存   int   数据   比较   

原文地址:https://www.cnblogs.com/heshike/p/9409494.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!