直观上,一个
就像我需要另一个人帮我打开冰箱给我拿一瓶啤酒一样。啤酒在冰箱里,我双手空闲,我应该能自己做到。
从概念上讲,这种方法似乎很奇怪。为什么不用属性(而不是方法)来获取列表的长度呢?
换句话说,我更喜欢使用
这种实现有解释吗?
这个answer部分回答了我的问题,但我的挫败感仍然存在。
List
类应该实现一个属性或方法来检索实例的长度。幸运的是,Python的列表有一个隐藏的方法叫做__len__
。不幸的是,这个方法不应该直接使用。我应该使用一个外部函数来读取隐藏的方法。就像我需要另一个人帮我打开冰箱给我拿一瓶啤酒一样。啤酒在冰箱里,我双手空闲,我应该能自己做到。
从概念上讲,这种方法似乎很奇怪。为什么不用属性(而不是方法)来获取列表的长度呢?
换句话说,我更喜欢使用
foo.len
而不是foo.len()
或foo.__len__
。对我来说,len(foo)
看起来更奇怪。这种实现有解释吗?
这个answer部分回答了我的问题,但我的挫败感仍然存在。