我正在准备期中考试,我遇到了这样一个问题:
the_cake = [1,2,[3],4,5]
a_lie = the_cake[1:4]
the_cake = the_cake[1:4]
great = a_lie
delicious = the_cake
moist = great[:-1]
在Python解释器中运行此代码后,为什么会:
^{pr2}$我的想法是他们是平等的方法,虽然不是“是”,但应该实现平等。在
也许这是因为实例化而导致的错误? 如果这是真的,那么在比较时类属性的值是否为真? 这是列表对象的特殊情况吗?在
跟进: 据此: Is there a difference between `==` and `is` in Python?
如果两个变量指向同一对象,则返回True,==如果变量引用的对象相等
那么List类的方法是否指向“append”方法的单独实例?在
如果我定义一个函数x(parameter),每次调用它,它都是一样的,因为它是分配给不同变量的同一个对象,对吗?在
那么对于某些等效变量“parameter”:
x(parameter) == x(parameter)
True
谢谢!在
python2.x:type objects的函数基于对象在内存中的地址实现rich comparisons。在
python3.x:注意函数不再是可排序的。因此,例如,
the_cake.append > a_lie.append
将抛出一条错误消息。在这些方法和它们各自的对象实例位于不同的位置。例如,我们有:
所以我们有:
^{pr2}$它们各自的位置见:
注意不同的地址。在
两个答案都是有效的,但也请检查以下内容:
相关问题 更多 >
编程相关推荐