[解決済み] Pythonのオブジェクトが持っているメソッドを検索する
2022-03-17 18:18:42
質問
任意の種類のPythonオブジェクトが与えられたとき、このオブジェクトが持つすべてのメソッドのリストを取得する簡単な方法はありますか?
あるいは
これが不可能な場合、少なくとも、そのメソッドが呼び出されたときにエラーが発生するかどうかを単純にチェックする以外に、特定のメソッドを持っているかどうかを簡単にチェックする方法はないでしょうか?
どのように解決するのですか?
多くのオブジェクトの場合 このコードでは、'object' を関心のあるオブジェクトに置き換えてください。
object_methods = [method_name for method_name in dir(object)
if callable(getattr(object, method_name))]
で発見しました。 diveintopython.net (現在はアーカイブされています)。うまくいけば、さらに詳細がわかるかもしれませんね。
を取得した場合
AttributeError
代わりにこれを使用することができます。
:
getattr(
は、pandas style python3.6 abstract virtual sub-classに不寛容です。 このコードは上記と同じで、例外を無視します。
import pandas as pd
df = pd.DataFrame([[10, 20, 30], [100, 200, 300]],
columns=['foo', 'bar', 'baz'])
def get_methods(object, spacing=20):
methodList = []
for method_name in dir(object):
try:
if callable(getattr(object, method_name)):
methodList.append(str(method_name))
except Exception:
methodList.append(str(method_name))
processFunc = (lambda s: ' '.join(s.split())) or (lambda s: s)
for method in methodList:
try:
print(str(method.ljust(spacing)) + ' ' +
processFunc(str(getattr(object, method).__doc__)[0:90]))
except Exception:
print(method.ljust(spacing) + ' ' + ' getattr() failed')
get_methods(df['foo'])
関連
-
ピローによる動的キャプチャ認識のためのPythonサンプルコード
-
Python Pillow Image.save jpg画像圧縮問題
-
[解決済み】Pythonスクリプトで「Expected 2D array, got 1D array instead: 」というエラーが発生?
-
[解決済み] リスト内のアイテムのインデックスを検索する
-
[解決済み] Pythonのリストメソッドであるappendとextendの違いは何ですか?
-
[解決済み] 最小限の驚き」と「変更可能なデフォルトの引数
-
[解決済み] 最近のPythonでカスタム例外を宣言する適切な方法?
-
[解決済み] Pythonでシングルトンを作成する
-
[解決済み】if __name__ == "__main__": は何をするのでしょうか?
-
[解決済み】Pythonに三項条件演算子はありますか?
最新
-
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 Decorator 練習問題
-
風力制御におけるKS原理を深く理解するためのpythonアルゴリズム
-
Python LeNetネットワークの説明とpytorchでの実装
-
FacebookオープンソースワンストップサービスpythonのタイミングツールKats詳細
-
[解決済み】なぜ「LinAlgError: Grangercausalitytestsから「Singular matrix」と表示されるのはなぜですか?
-
[解決済み】syntaxError: 'continue' がループ内で適切に使用されていない
-
[解決済み】Python elifの構文が無効です【終了しました
-
[解決済み】LogisticRegression: Pythonでsklearnを使用して、未知のラベルタイプ: '連続'を使用しています。
-
[解決済み] 関数名の前後にアンダースコア"__"が付いている関数があるのはなぜですか?
-
[解決済み] Pythonのクラスのメソッドのリストを取得するにはどうすればよいですか?