LinuxSir.Org  
| 网站首页 | 论坛帮助 |

欢迎来到LinuxSir.Org!
您还未登录,请登录后查看论坛,或者点击论坛上方的注册链接注册新账号。


发表新主题 回复
 
主题工具
旧 10-06-19, 09:48 第 1 帖
yangyang123
 
 
 
注册会员  
  注册日期: Oct 2007
  帖子: 9
  精华: 0
 

标题: 关于a==b和a is b


>>> f1=4.3
>>> f2=1.3+3.0
>>> f1==f2
True
>>> f1 is f2
False

>>> f1=4
>>> f2=1+3
>>> f1==f2
True
>>> f1 is f2
True

>>> 4.3 == 1.3+3.0
True
>>> 4.3 is 1.3+3.0
False
>>> 4 is 1+3
True

此帖于 10-06-19 09:57 被 yangyang123 编辑. 原因: 版主帮忙删帖,谢谢
  yangyang123 当前离线   回复时引用此帖
旧 10-08-09, 20:14 第 2 帖
icaker
 
 
 
注册会员  
  注册日期: Feb 2010
  帖子: 8
  精华: 0
 

你想表达什么。。
  icaker 当前离线   回复时引用此帖
旧 10-09-21, 14:37 第 3 帖
jacuro 帅哥
 
jacuro 的头像
 
 
注册会员  
  注册日期: Apr 2006
  帖子: 80
  精华: 0
 

is 用来测试是不是引用的同一个对象。 在python内部,对于字符串,整型,会共享内存,多个内容相同的变量会引用到同一个对象。
另外,浮点数本身是不精确的(这是由浮点数的内部表示方式决定的),通常不要判断其相等性,而是判断两个数之间的差值小于可以允许的值。
比如
代码:
a = 3.333333333 b = 4.444444444 c = 7.777777777 a + b == c # False a + b - c #8.881784197001252e-16
  jacuro 当前离线   回复时引用此帖
旧 10-10-14, 09:22 第 4 帖
tianfeng0418 帅哥
 
tianfeng0418 的头像
 
 
注册会员  
  注册日期: Dec 2005
  我的住址: 浙江
  帖子: 93
  精华: 0
 

f1和f2的值相等,但是所指的内存地址不一样,所以
f1==f2
true

f1 is f2
false

这是我的理解。







__________________
neo
  tianfeng0418 当前离线   回复时引用此帖
旧 10-10-31, 12:42 第 5 帖
linwhwylb
 
 
 
注册会员  
  注册日期: Oct 2009
  帖子: 105
  精华: 0
 

引用:
作者: jacuro
is 用来测试是不是引用的同一个对象。 在python内部,对于字符串,整型,会共享内存,多个内容相同的变量会引用到同一个对象。
另外,浮点数本身是不精确的(这是由浮点数的内部表示方式决定的),通常不要判断其相等性,而是判断两个数之间的差值小于可以允许的值。
比如
代码:
a = 3.333333333 b = 4.444444444 c = 7.777777777 a + b == c # False a + b - c #8.881784197001252e-16
讨论这个似乎没有结果。请看,我这里就不同。
>>> a = 3.3333333
>>> b = 4.4444444
>>> c = 7.7777777
>>> a + b == c
True
>>> a + b -c
0.0







__________________
==========GNU/Linux FreeBSD==========
GNU’s not Unix, but Unix is a beast; its plural form is Unixen.
My blog: http://blog.csdn.net/linwhwylb
My MSN: linwh_wylb63@hotmail.com
  linwhwylb 当前离线   回复时引用此帖
发表新主题 回复


主题工具

发帖规则
您 [不可以] 发表新主题
您 [不可以] 回复主题
您 [不可以] 上传附件
您 [不可以] 编辑您的帖子

已 [启用] BB 代码
已 [启用] 表情符号
已 [启用] IMG 代码
已 [禁用] HTML 代码
[论坛跳转…]


所有时间均为[北京时间]。现在的时间是 04:00


Powered by vBulletin 版本 3.6.8
版权所有 ©2000 - 2012, Jelsoft Enterprises Ltd.
官方中文技术支持: vBulletin 中文
版权所有 ©2002 - 2011, LinuxSir.Org