クラスの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