为了账号安全,请及时绑定邮箱和手机立即绑定

为什么是false

为什么 xiaoming == xiaohong 出来的是false, 他们不是同一类吗?

正在回答

3 回答

小明和小红不是同一个人,虽然它们都属于Person类,但是它们是不同的对象。就像你不等于我一样。实际上它们在内存中的存储地址不一样,就可以判断出对象不一样,如上面voipman的回答。

1 回复 有任何疑惑可以回复我~

他们所指向的地址不一样

2 回复 有任何疑惑可以回复我~

class Person:

pass

xiaoming = Person()

xiaohong = Person()

print xiaoming

print xiaohong

打印的内容如下:

<__main__.Person instance at 0x00000000020B54C8>

<__main__.Person instance at 0x00000000021DAFC8>

说明xiaoming和xiaohong是两个不同的实例。


3 回复 有任何疑惑可以回复我~
#1

小白谢过大神

按照输出的false结果,我们解释为因为xiaoming和xiaohong两个是不同的例子,所以是false,可是我有个疑问:我按照赋值的原则去想的话,等号右边不是赋值给等号左边吗,按理说xiaoming和xiaohong都是Person(),这样不应该一样吗?。。。有点懵,谁能告诉我一下我思路哪里错了
2018-11-12 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
python进阶
  • 参与学习       255665    人
  • 解答问题       2949    个

学习函数式、模块和面向对象编程,掌握Python高级程序设计

进入课程

为什么是false

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信