我试图动态地构造一个twoNum
——我已经构建了常量,lambda也可以工作,但是我不确定如何使ns
可构造。你知道吗
class twoNum:
a = 1
b = 2
def c(self):
return self.a + self.b
ns = types.SimpleNamespace()
setattr(ns,'a',1)
setattr(ns,'b',2)
setattr(ns,'c',lambda : self.a + self.b)
当我这样做时:
r = ns()
我得到:
TypeError: 'types.SimpleNamespace' object is not callable
必须在定义它的python脚本之外实例化
ns
。因此,如果您的script.py
中包含以下代码那么下面的步骤就行了。你知道吗
另外,函数c的定义是不正确的,没有a和b作为类属性,因此不能执行
self.a
或self.b
,您可以尝试如下操作然后可以如下运行
相关问题 更多 >
编程相关推荐