私はクラスのメソッドを使用する方法を探していますが、そのクラスでは定義されていませんが動的に処理されます。私は例を取るために、実現したいと思いますどのような、明示的に定義する必要なく、クラス内aaa
とbbb
(など)を使用しての可能性にPythonに「ワイルドカードメソッド」はありますか?
class Hello:
def aaa(self, msg=""):
print("{msg} aaa".format(msg=msg))
def bbb(self, msg=""):
print("{msg} bbb".format(msg=msg))
if __name__ == "__main__":
h = Hello()
h.aaa("hello")
h.bbb("hello")
# hello aaa
# hello bbb
から移動することです。上記の例では、使用されるメソッドの名前(例えば、aaa
)を受け取り、それに応じてメッセージをフォーマットする構造になります。
「ワイルドカード方式」は、名前を処理し、名前に応じて条件付きの処理を実行する「ワイルドカード方式」です。疑似コードの場合(上の例を複製する場合)
def *wildcard*(self, msg=""):
method = __name__which__was__used__to__call__me__
print("{msg} {method}".format(msg=msg, method=method))
このような構成は可能ですか?