gpt4 book ai didi

Python:调用另一个类的方法,指定为函数的参数

转载 作者:行者123 更新时间:2023-12-01 02:53:49 24 4
gpt4 key购买 nike

我知道下面的简化示例丑陋得令人尴尬……因此我来到这里与世界分享它。

我希望能够从 cls 调用类方法,并在 callmethod 中指定特定方法。

class cls(object):
def __init__(self, var1):
self.var1 = var1
def method1(self):
return self.var1 ** 2
def method2(self):
return self.var1 ** 3

def callmethod(method, var1):
methods = {'method1' : cls(var1).method1(),
'method2' : cls(var1).method2()
}
return methods[method]

callmethod('method1', 2)
Out[56]: 4

有没有一种方法可以解决这个问题,而无需创建一个(可能又大又麻烦的)字典,将每个方法的字符串形式链接到实际的东西?

最佳答案

您正在寻找的可能只是:

def callmethod(method, arg)
inst = cls(arg)
return getattr(inst, method)()

您可以将 a.b 视为 getattr(a, "b")

的语法糖

关于Python:调用另一个类的方法,指定为函数的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44448759/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com