python - 我可以列出 python 中的方法吗?

标签 python list methods

我所拥有的是一个类的每个实例一个不同的方法。所以我想要的是当我创建该类的一个新实例时能够以某种方式选择该实例将调用哪个方法。我是一个完全的新手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/

相关文章:

python - 重命名组名标题 pandas

ios - NSDictionary获取对象列表中的属性- objective-c

python - 在列表上应用 boolean 值字符串

python - 使用一个列表理解后是否有可能继续在我的列表中添加元素?

java - 学习多态性时对错误感到困惑

python - 使用 python 和 DBSCAN 聚类高维数据

python - xml.etree.ElementTree 模块是否有等效项?

python - Tensorflow,在给定条件下更改张量值

javascript - 如何在方法使用后保持变量值相同?

ruby - Ruby 对象中是否有方法将自身传递给 block 或过程?