【发布时间】:2023-03-16 00:40:01
【问题描述】:
我在字典中有一个方法作为类属性;
class parentClass(object):
pass
class childClass(parentClass):
a = {'meth': my_meth}
def my_meth(self, var):
print(var)
inp = input()
# User enters 'meth'
childClass.a[inp]('test')
当我运行程序时出现错误;
NameError: name 'my_meth' 未定义
我读过函数是 python 中的一等公民。如何将方法分配为字典中的值,以便稍后使用某些参数调用它?
【问题讨论】:
-
我不明白你想在这里实现什么。你为什么要抽象
my_meth?childClass.a['meth']('test')比childClass.my_meth('test')有什么好处? -
反正
a是一个类属性。定义a时,self不存在。 -
功能取决于用户输入。这是根据 SO 指南的简化版本。
-
很公平。在这种情况下有点过度简化。值得将您的最终目标添加到问题中。
标签: python dictionary methods