Pythonでは、関数やメソッドを他の関数やメソッドの引数として渡すことが可能です。これは、Pythonが「第一級オブジェクト」として関数を扱うためです。第一級オブジェクトとは、変数に代入したり、引数として渡したり、戻り値として返したりできるオブジェクトのことを指します。
以下に、クラスメソッドを引数として渡す基本的な例を示します。
class SomeClass:
def method(self):
print("Hello, World!")
def call_method(obj, method):
method(obj)
obj = SomeClass()
call_method(obj, SomeClass.method)
この例では、SomeClass
のインスタンスobj
と、そのメソッドmethod
をcall_method
関数に渡しています。call_method
関数内では、渡されたメソッドを呼び出しています。
このように、Pythonでは関数やメソッドを引数として渡すことで、コードの柔軟性を高めることができます。特に、異なる動作をする複数のメソッドを持つクラスがあり、それらのメソッドを動的に呼び出す必要がある場合などに有用です。