Pythonレジスタメソッドの使い方
Pythonではregister()メソッドはコールバック関数として機能やメソッドを登録するもので、イベント駆動型プログラミングで、あるイベントが発生したときに登録した関数が呼び出される場合などに使用します。
register() メソッドの使用方法を示す例を以下に示します。
class EventManager:
def __init__(self):
self.handlers = []
def register(self, handler):
self.handlers.append(handler)
def notify(self, event):
for handler in self.handlers:
handler(event)
def handle_event1(event):
print(f"Handling event 1: {event}")
def handle_event2(event):
print(f"Handling event 2: {event}")
def handle_event3(event):
print(f"Handling event 3: {event}")
event_manager = EventManager()
event_manager.register(handle_event1)
event_manager.register(handle_event2)
event_manager.register(handle_event3)
event_manager.notify("Some event")
上のサンプルでは、EventManagerクラスにはコールバック関数を登録するための`register()`メソッドと、イベントをトリガーして登録されたコールバック関数を呼び出す`notify()`メソッドがあります。私たちは`handle_event1()`、`handle_event2()`、`handle_event3()`の3つのコールバック関数を定義しました。それぞれ異なるイベント処理の情報を表示します。
イベントマネージャーのregister()メソッドを使ってイベントマネージャーに3つのコールバック関数を登録します。その後、イベントマネージャーのnotify()メソッドを呼び出してイベントをトリガーすると、イベントマネージャーは登録したすべてのコールバック関数を呼び出します。
上記コードを実行すると、出力結果は次のとおりになります。
Handling event 1: Some event
Handling event 2: Some event
Handling event 3: Some event
3つの登録済みコールバック関数が呼び出されたことが示され、イベントは正常に処理されました。