1
类的dir()
可以通过创建一个返回用户定义列表的特殊函数来定制,那为什么它不维护我指定的顺序?这里有一个例子:Python的dir()函数的结果顺序
>>> class C(object):
... def __dir__(self):
... return ['a', 'c', 'b']
...
>>> c = C()
>>> dir(c)
['a', 'b', 'c']
为什么dir()
看似整理我的名单和返回['a', 'b', 'c']
而非['a', 'c', 'b']
?
奇怪的是(对我来说),调用成员函数直接产生预期的结果:
>>> c.__dir__()
['a', 'c', 'b']
而且他们说没有愚蠢的问题......无论如何,感谢至少证明我没有想象的东西。猜猜下次我应该rtm。再次感谢您的答复。 – zenzic 2012-03-11 22:52:59