Python関数 - dir()

高洛峰
リリース: 2016-10-17 14:54:16
オリジナル
1115 人が閲覧しました

最近本当に忙しくて、新年も明けたばかりで、やらなければならないことがたくさん溜まっていて、2日に1記事しか更新できていないことをお詫び申し上げます。

今日は非常に重要な関数を見てみましょう: dir()

中国語の説明: パラメータを指定しない場合は、現在のスコープ内の変数、メソッド、および定義された型のリストを返します。パラメータを指定すると、属性とメソッドのリストを返します。パラメータ 。引数にメソッド __dir__() が含まれている場合、このメソッドが呼び出されます。パラメータに __dir__() が含まれていない場合、このメソッドは可能な限りパラメータ情報を収集します。

パラメータオブジェクト: オブジェクト、変数、型。

バージョン: この関数は Python のさまざまなバージョンで利用できますが、各バージョンで表示される属性の詳細は異なります。使用する際は違いに注意してください。

英語の説明:

dir([object])

引数を指定しない場合は、現在のローカル スコープ内の名前のリストを返します。引数を指定すると、そのオブジェクトの有効な属性のリストを返します。


オブジェクトに __dir__() という名前のメソッドがある場合、このメソッドが呼び出され、属性のリストを返す必要があります。これにより、カスタム __getattr__() または __getattribute__() 関数を実装するオブジェクトは、 dir() が属性を報告する方法をカスタマイズできます。


オブジェクトが __dir__() を提供しない場合、関数はオブジェクトの __dict__ 属性 (定義されている場合) およびその型オブジェクトから情報を収集しようと最善を尽くします。結果のリストは必ずしも完全ではなく、不正確になる可能性があります。オブジェクトにカスタム __getattr__() がある場合。


デフォルトの dir() メカニズムは、完全な情報ではなく、最も関連性の高い情報を生成しようとするため、オブジェクトの種類によって動作が異なります。オブジェクトがモジュール オブジェクトの場合、リストにはモジュールの属性の名前が含まれます。

オブジェクトが型またはクラス オブジェクトの場合、リストにはその属性の名前が含まれ、そのベースの属性の名前が再帰的に含まれます。

それ以外の場合は、 、リストには、オブジェクトの属性の名前、そのクラスの属性の名前、およびそのクラスの基本クラスの属性の再帰が含まれます。

結果のリストは、アルファベット順にソートされます。 dir() は主に対話型プロンプトでの使用の利便性を目的として提供されているため、厳密または一貫して定義された名前のセットを提供しようとするよりも、興味深い名前のセットを提供しようとし、その詳細な動作はリリースごとに異なる可能性があります。たとえば、引数がクラスの場合、メタクラス属性は結果リストに含まれません。

特記事項: この一連の記事のコード例はすべて、特別な指示なしに変更されます。Python2.7 に基づいています

コード例:

りー


関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート