考试报名
考试报名
考试内容
考试大纲
在线客服
返回顶部

备考刷题,请到

CDA认证小程序

下面代码的输出结果是a = 2b = 2c = 2.0print(a == b, a is b, a is c)
A. True False False
B. True False True
C. False False True
D. True True False
上一题
下一题
收藏
点赞
评论
题目解析
题目评论(0)

正确答案是:D: True True False

分析如下:

1. `a = 2` 和 `b = 2`:在Python中,小整数对象(通常是-5到256之间的整数)会被缓存,因此`a`和`b`指向的是同一个对象。`a == b`比较的是值,所以结果是`True`,`a is b`比较的是对象的身份(即是否是同一个对象),由于小整数缓存机制,结果也是`True`。

2. `c = 2.0`:这里`c`是一个浮点数对象,与`a`和`b`是整数对象不同。虽然`a == c`会返回`True`(因为2和2.0在数值上是相等的),但是`a is c`会返回`False`,因为它们是不同类型的对象,存储在不同的内存位置。

因此,最终的输出是:`True True False`。