Python関数 - dir()

Oct 17, 2016 pm 02:54 PM

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

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

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

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

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

英語の説明:

dir([object])

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


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


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


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

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

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

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

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

コード例:

りー


このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

LinuxターミナルでPythonバージョンを表示するときに発生する権限の問題を解決する方法は? LinuxターミナルでPythonバージョンを表示するときに発生する権限の問題を解決する方法は? Apr 01, 2025 pm 05:09 PM

LinuxターミナルでPythonバージョンを表示する際の許可の問題の解決策PythonターミナルでPythonバージョンを表示しようとするとき、Pythonを入力してください...

中間の読書にどこでもfiddlerを使用するときにブラウザによって検出されないようにするにはどうすればよいですか? 中間の読書にどこでもfiddlerを使用するときにブラウザによって検出されないようにするにはどうすればよいですか? Apr 02, 2025 am 07:15 AM

fiddlereveryversings for the-middleの測定値を使用するときに検出されないようにする方法

プロジェクトの基本と問題駆動型の方法で10時間以内にコンピューター初心者プログラミングの基本を教える方法は? プロジェクトの基本と問題駆動型の方法で10時間以内にコンピューター初心者プログラミングの基本を教える方法は? Apr 02, 2025 am 07:18 AM

10時間以内にコンピューター初心者プログラミングの基本を教える方法は?コンピューター初心者にプログラミングの知識を教えるのに10時間しかない場合、何を教えることを選びますか...

あるデータフレームの列全体を、Python内の異なる構造を持つ別のデータフレームに効率的にコピーする方法は? あるデータフレームの列全体を、Python内の異なる構造を持つ別のデータフレームに効率的にコピーする方法は? Apr 01, 2025 pm 11:15 PM

PythonのPandasライブラリを使用する場合、異なる構造を持つ2つのデータフレーム間で列全体をコピーする方法は一般的な問題です。 2つのデータがあるとします...

uvicornは、serving_forever()なしでhttpリクエストをどのように継続的に聞いていますか? uvicornは、serving_forever()なしでhttpリクエストをどのように継続的に聞いていますか? Apr 01, 2025 pm 10:51 PM

UvicornはどのようにしてHTTPリクエストを継続的に聞きますか? Uvicornは、ASGIに基づく軽量のWebサーバーです。そのコア機能の1つは、HTTPリクエストを聞いて続行することです...

Investing.comの反クローラーメカニズムをバイパスするニュースデータを取得する方法は? Investing.comの反クローラーメカニズムをバイパスするニュースデータを取得する方法は? Apr 02, 2025 am 07:03 AM

Investing.comの反クラウリング戦略を理解する多くの人々は、Investing.com(https://cn.investing.com/news/latest-news)からのニュースデータをクロールしようとします。

See all articles