我所拥有的是一个类的每个实例一个不同的方法。所以我想要的是当我创建该类的一个新实例时能够以某种方式选择该实例将调用哪个方法。我是一个完全的新手python,我想知道我是否可以有一个方法列表和每个实例来调用此列表中的特定方法。这可能吗?
我做了一些搜索并找到了 http://docs.python.org/2/library/inspect.html (检查模块)但我很困惑。
最佳答案
在Python中,函数是第一类对象。因此,您可以直接传递函数作为参数。如果您已经定义了函数 f(x)、g(x)、h(x),则可以创建类方法
def set_function(self, external_function):
self.F = external_function
然后您可以使用 object.F(x),就像它已在类中定义一样。
但是,属于同一类的对象具有不同的方法是糟糕的设计。如果同一类的对象有不同的行为,那么它们可能一开始就应该属于不同的类。更好的方法是对原始类进行子类化,在子类中定义不同的函数,然后实例化相应的对象。
关于python - 我可以列出 python 中的方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22683611/