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

python基础

时间:2018-05-27 12:22:48      阅读:153      评论:0      收藏:0      [点我收藏+]

标签:hide   效率   one   1.2   play   技术   pre   分享图片   整数   

1.is和==的区别

技术分享图片
 1 is:判断两个值的内存地址(id)是否相等。
 2 ==:两个value值是否相等。
 3 
 4 is:
 5 1.第一种情况:
 6 >>> n1=123
 7 >>> n2=123
 8 >>> n1 is n2
 9 True
10 >>> id(n1)
11 1353978128
12 >>> id(n2)
13 1353978128
14 
15 2.第二种情况:
16 >>> n1=1234567
17 >>> n2=1234567
18 >>> n1 is n2
19 False
20 >>> id(n1)
21 43798416
22 >>> id(n2)
23 48262320
24 
25 第三种情况:
26 >>> n1=1.2
27 >>> n2=1.2
28 >>> n1 is n2
29 False
30 >>> id(n1)
31 43819296
32 >>> id(n2)
33 43819248
34 
35 总结:Python仅仅对比较小的整数对象进行缓存(范围为范围[-5, 256])缓存起来,而并非是所有整数对象。需要注意的是,这仅仅是在命令行中执行,而在Pycharm或者保存为文件执行,结果是不一样的,这是因为解释器做了一部分优化。
36 
37 ==:
38 第一种情况:
39 >>> n1=123
40 >>> n2=123
41 >>> n1 == n2
42 True
43 
44 第二种情况:
45 >>> n1=1234567
46 >>> n2=1234567
47 >>> n1 == n2
48 True
49 
50 第三种情况:
51 >>> n1=1.1
52 >>> n2=1.1
53 >>> n1 == n2
54 True
55 
56 1、is 比较两个对象的 id 值是否相等,是否指向同一个内存地址;
57 2、== 比较的是两个对象的内容是否相等,值是否相等;
58 3、小整数对象[-5,256]在全局解释器范围内被放入缓存供重复使用;
59 4、is 运算符比 == 效率高,在变量和None进行比较时,应该使用 is
View Code

 

python基础

标签:hide   效率   one   1.2   play   技术   pre   分享图片   整数   

原文地址:https://www.cnblogs.com/iwxk/p/9095340.html

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