-1
下面的脚本的输出:Python列表不具有len属性吗?
a = ['abc', 'def', 'ghi', 'jkl']
print len(a)
print hasattr(a,"len")
是
4
False
我期待False
是True
,特别是因为len()
作品上a
。我是否错过了某个属性实际上是什么?
下面的脚本的输出:Python列表不具有len属性吗?
a = ['abc', 'def', 'ghi', 'jkl']
print len(a)
print hasattr(a,"len")
是
4
False
我期待False
是True
,特别是因为len()
作品上a
。我是否错过了某个属性实际上是什么?
是的,你错过了一些东西。 len(x)
返回x.__len__()
,而不是x.len
。
尝试运行dir(x)
以查看对象上可用的属性。
不完全,'len(x)'返回'x .__ len __()',假设方法存在并返回一个有效的整数长度。 –
我想你错过了什么,是的。你为什么认为调用'len(a)'会和'''有一个属性叫'len'有关? (有一种称为'__len__'的魔术方法,但这不在你的问题的范围内。) – BrenBarn