ホームページ  >  記事  >  バックエンド開発  >  Python が dir 関数を使用してクラスのすべてのメンバーを表示する方法の概要

Python が dir 関数を使用してクラスのすべてのメンバーを表示する方法の概要

巴扎黑
巴扎黑オリジナル
2017-09-09 10:22:213395ブラウズ

この記事では、Python がクラス内のすべてのメンバー関数を表示するためにどのように dir 関数を使用するかについての関連情報を主に紹介します。この記事では、Python を学習または使用する人にとって、一定の参考学習価値があります。必要な友達は編集者をフォローして一緒に学びましょう。

はじめに

クラスが他の人によって書かれており、ヘルプドキュメントがない場合、どうすればすべてのメンバー関数を表示できますか?この記事では、Python で dir 関数を使用してクラス内のすべてのメンバー関数を表示する方法について詳しく紹介します。以下では詳しく説明しません。詳細な概要を見てみましょう。

次のコードを使用できます:


# File: builtin-dir-example-2.py 
 
class A: 
 def a(self): 
  pass 
 def b(self): 
  pass 
 
class B(A): 
 def c(self): 
  pass 
 def d(self): 
  pass 
 
def getmembers(klass, members=None): 
 # get a list of all class members, ordered by class 
 if members is None: 
  members = [] 
 for k in klass.__bases__: 
  getmembers(k, members) 
 for m in dir(klass): 
  if m not in members: 
   members.append(m) 
 return members 
 
print('A=> :', getmembers(A)) 
print() 
print('B=> :', getmembers(B)) 
print() 
print('IOError=> :', getmembers(IOError))

出力は次のとおりです:


>>> 
==== RESTART: D:/work/csdn/python_Game1/example/builtin-dir-example-2.py ====
A=> : ['__class__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__dict__', '__module__', '__weakref__', 'a', 'b']


B=> : ['__class__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__dict__', '__module__', '__weakref__', 'a', 'b', 'c', 'd']


IOError=> : ['__class__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__cause__', '__context__', '__dict__', '__setstate__', '__suppress_context__', '__traceback__', 'args', 'with_traceback', 'characters_written', 'errno', 'filename', 'filename2', 'strerror', 'winerror']
>>>

この例では、基本クラス A のメンバー関数を出力し、メンバーを出力します。派生クラス B 関数の。

組み込み関数


初心者でも経験豊富な Python プログラマーでも、現時点では、すべてのメソッドを覚えておくことはできません。 )機能はとても便利です。 dir() 関数を使用すると、オブジェクト内のすべての属性とメソッドを表示できます。Python では、すべてがオブジェクト、データ型、モジュールなどであり、それぞれに共通のメソッドに加えて独自の属性とメソッドがあります。すべてを覚える必要はなく、dir() 関数に任せるだけです。

dir()関数の使い方


dir()関数の操作方法は非常に簡単で、()括弧内に欲しいクエリとオブジェクトを追加するだけで使用できます。


たとえば、リストのメソッドを表示したい場合は、次のように、空のリスト オブジェクト [ ] またはリスト データ型の変数名を ( ) に直接渡すことができます。

または



>>>dir([ ])


2 つの操作メソッドの結果は同じで、どちらもリストの操作メソッドと属性を確認するためのものです。文字列をチェックしたい場合は、() 内にパラメータ変数名を入れるか、空の文字列 ' ' を入れます。

以上がPython が dir 関数を使用してクラスのすべてのメンバーを表示する方法の概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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