上课

class MyClass:
    def func_a(self):
        """do a"""

    def func_b(self):
        """do b"""

和一张 map

mapping = {
    "A": lambda: Myclass.do_a,
    "B": lambda: Myclass.do_b
}

我希望能够做这样的事情:

thing = Myclass()

for i in ["A", "B"]:
    # call things appropriate method

在["A","B"的情况下,首先对事物调用func_a,然后再调用func_b,我该怎么做呢?

谢谢!

推荐答案

你不需要lambda美元就能买到

mapping = {
    "A": MyClass.func_a,
    "B": MyClass.func_b
}

thing = MyClass()

for i in ["A", "B"]:
    mapping[i](thing)

Python相关问答推荐

添加包含中具有任何值的其他列的计数的列

如何处理嵌套的SON?

使用LineConnection动画1D数据

Pystata:从Python并行运行stata实例

海运图:调整行和列标签

将两只Pandas rame乘以指数

图像 pyramid .难以创建所需的合成图像

把一个pandas文件夹从juyter笔记本放到堆栈溢出问题中的最快方法?

NumPy中条件嵌套for循环的向量化

如何使Matplotlib标题以图形为中心,而图例框则以图形为中心

如何在turtle中不使用write()来绘制填充字母(例如OEG)

SQLAlchemy bindparam在mssql上失败(但在mysql上工作)

如何在FastAPI中为我上传的json文件提供索引ID?

如何在TensorFlow中分类多个类

处理具有多个独立头的CSV文件

将一个双框爆炸到另一个双框的范围内

如何在一组行中找到循环?

如何防止html代码出现在quarto gfm报告中的pandas表之上

如何从数据框列中提取特定部分并将该值填充到其他列中?

如何在Python中解析特定的文本,这些文本包含了同一行中的所有内容,