换句话说,这是否给我错误纯粹是因为它实际上是不可能的,或者我只是写错了:
class someClass:
self.myString = "Hello"
self.myMap = {
'someString' : self.functionInClass
}
所以如果 functionInClass 接受一个参数,我想从类中的任何地方这样调用它:
self.myMap[self.myString](theArgument)
这只会产生:
NameError: name 'self' is not defined
如有任何帮助,我们将不胜感激。
最佳答案
是的,您可以这样做,因为方法(或绑定(bind)方法)本身就是对象。
在你的代码中你忘记了你的函数。我想你想写这样的东西:
class someClass:
def __init__(self):
self.myString = "Hello"
self.myMap = {
'someString' : self.functionInClass
}
def functionInClass(self):
pass
关于Python:我可以在字典中将字符串作为键并将函数作为值吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7636508/