[解決済み】オブジェクトのメソッドと属性の完全なリストを取得する方法は?[重複している]。
2022-04-02 07:18:15
質問
dir(re.compile(pattern))
はリストの要素の一つとして pattern を返しません。つまり
['__copy__', '__deepcopy__', 'findall', 'finditer', 'match', 'scanner', 'search', 'split', 'sub', 'subn']
マニュアルによると、以下のものが含まれることになっています。
オブジェクトの属性名と そのクラスの属性の名前、そして の属性が再帰的に表示されます。 クラスの基底クラスである。
また、次のようにも書かれています。
このリストは必ずしも完全なものではありません。
を取得する方法はあるのでしょうか? コンプリート のリストですか?私はいつもdirが完全なリストを返すと思っていたのですが、どうやらそうではないようです...。
また、属性のみをリストアップする方法はありますか?あるいはメソッドのみをリストアップする方法はありますか?
編集:これは実際にはpythonのバグです -> おそらく3.0ブランチで修正されています(そしておそらく2.6でも)
解決方法は?
については
コンプリート
の属性リストがありますが、簡単に言うと「いいえ」です。問題は、属性が実際には
getattr
組み込み関数です。ユーザが再実装できるように
__getattr__
このリストを生成する一般的な方法はありません。そのため
dir
関数は
__dict__
属性、すなわち
__getattr__
メソッドが再実装されていない。
2つ目の質問については、あまり意味がありません。実は、メソッドは呼び出し可能な属性であり、それ以上のものではありません。しかし、呼び出し可能な属性をフィルタリングすることは可能で、そのためには
inspect
モジュールは、クラスメソッド、メソッド、または関数を決定します。
関連
-
[解決済み】pygame.error: ビデオシステムが初期化されていない
-
[解決済み] 関数デコレータを作成し、それらを連鎖させるには?
-
[解決済み] リストのリストからフラットなリストを作るには?
-
[解決済み] Pythonで現在時刻を取得する方法
-
[解決済み] リストが空かどうかを確認するにはどうすればよいですか?
-
[解決済み] Pythonのリストメソッドであるappendとextendの違いは何ですか?
-
[解決済み] 割り当て後にリストが予期せず変更されました。その理由と防止策を教えてください。
-
[解決済み] リストを均等な大きさの塊に分割するには?
-
[解決済み] リストの最後の要素を取得する方法
-
[解決済み] リストの要素数を取得する方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Pythonコンテナのための組み込み汎用関数操作
-
PicgoのイメージベッドツールをPythonで実装する
-
Python interpreted model libraryによる機械学習モデル出力の可視化 Shap
-
[解決済み] _tkinter.TclError: 表示名がなく、$DISPLAY環境変数もない。
-
[解決済み】pygame.error: ビデオシステムが初期化されていない
-
[解決済み】TypeError: 系列を <class 'float'> に変換することができません。
-
[解決済み] 'int'オブジェクトに'__getitem__'属性がない。
-
[解決済み] オブジェクトの現在のプロパティと値をすべて表示する組み込み関数はありますか?
-
[解決済み] Pythonですべてのオブジェクトの属性を取得しますか?[重複している]を
-
[解決済み] Pythonのクラスのメソッドのリストを取得するにはどうすればよいですか?