在字典中将一个映射到字符串的对象上调用一个类成员函数。

11 浏览
0 Comments

在字典中将一个映射到字符串的对象上调用一个类成员函数。

我想通过对象调用类成员函数。该函数在字典中被映射为一个字符串。我实际上将引用该字符串(键)来调用该函数(值)。即使我传递了参数,它仍然给我报错,提示需要一个位置参数。为什么我需要传递对象名?

当我将对象实例作为第一个参数传递时,它可以工作

类定义如下:

class A():
 def foo(self , arg):
    print(arg)
 dict = {"foo" :foo}

在类外部:

obj = A()
obj.dict["foo"](10)      #不工作
#------------------------
obj.dict["foo"](obj,10)         #工作

0