Python:我可以在字典中将字符串作为键并将函数作为值吗?

标签 python dictionary

换句话说,这是否给我错误纯粹是因为它实际上是不可能的,或者我只是写错了:

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/

相关文章:

python - python中的名称重整

python - numpy.zeros(n) 和 numpy.zeros(n,1) 之间的区别

python - python 中上升最快的阶乘(Pochhammer 函数)

json - 如何在 jsonObject swift 4 中获取 jsonObject 的值?

c# - 匹配字符串(段落)中的大型短语字典中的项目的有效方法是什么

python - 使用opencv去除OCR的背景噪音

python - Pygame 不返回操纵杆轴移动而不显示

c++ - 提高访问 map 中的元素和写入文件的性能

c# - 为什么迭代字典的值以与插入相同的顺序返回,而它应该是不确定的?

javascript - 将数组映射到数组的对象内