experiment.py
global x
x = False
class func1:
def __init__(self):
pass
def hello(self):
# global x
print x
new.py
import experiment
object = experiment.func1()
z = "x"
experiment.z = True # Expection is experiment.z should work as experiment.x
experiment.hello()
输出:#o / p应为true,因为我正在努力实现t.x = True
>>>
False
>>>
问题是:有没有办法做到这个或这个概念错了?
答案 0 :(得分:0)
首先,您的代码中存在许多错误以及一些不一致。
您刚刚将新属性添加到func1
的实例。
z = "x"
t.z = True
这可能就是你要找的东西:
<强> exp.py 强>
x = False
class Test(object):
def __init__(self, x):
self.x = x
def hello(self):
print self.x
t = Test(x)
t.hello()
<强> newp.py 强>
from exp import Test, t
t.x = True
t.hello()
>>> False
>>> True
答案 1 :(得分:0)
使用setattr(对象,名称,值)