Python 如何使用';执行官';在儿童班?
我想使用exec或eval从超类运行代码,但如何运行Python 如何使用';执行官';在儿童班?,python,exec,eval,Python,Exec,Eval,我想使用exec或eval从超类运行代码,但如何运行 这是父类: class A(): def f1(自我): 打印(“你好”) 这是儿童班: B(A)类: 定义初始化(self,func): self.funtion='super().+func 打印(自我功能) 执行主任(自我职能) b=b('f1()')) 结果 super().f1() --------------------------------------------------------------------------
这是父类:
class A():
def f1(自我):
打印(“你好”)
这是儿童班:
B(A)类:
定义初始化(self,func):
self.funtion='super().+func
打印(自我功能)
执行主任(自我职能)
b=b('f1()'))
结果
super().f1()
---------------------------------------------------------------------------
运行时错误回溯(上次最近调用)
在里面
---->1 b=b('f1()'))
in uuu init uuuu(self,func)
3 self.funtion='super().+func
4打印(自我功能)
---->5执行官(自我职能)
在里面
RuntimeError:super():无参数
只要方法是在父类中定义的(并且没有被子类覆盖),就可以使用getattr
:
class A:
def median(self):
return ...
class Condition(A):
def __init__(self, data, func, separate_negative):
self.data = data
self.func = getattr(self, func)
self.separate_negative = separate_negative
然后要使用它,只需调用
self.func()
您可以在getaddr()
-
它很好用
$./pysuperclass.py
hello
并确保
f1()
返回而不是打印,打印未存储在变量中。是否需要使用exec
或eval
?我需要这样一个类python c=Condition(data=data,func='median',separate_negative=True)
和func在超类中定义。
$./pysuperclass.py
hello