from folder_exp import my_tcommands as t
class Gravity(EarthG):
def __init__(self):
super(Gravity, self).__init__()
def check(self):
original = t.get_gravity()
print "Original gravity from the function:", original
my_gravity = 9.888
t.set_gravity(my_gravity)
def verify(self):
我必须使用verify
在t.set_gravity(original)
处加载原始重力,但我已经在t.set_gravity(my_gravity)
函数中使用check
重写了重力,因此如果我t.get_gravity
9.888 and not the original one
再次,它给了我original
。
从check
访问verify
的方法是什么,以便我可以在def verify(self):
t.set_gravity(original)
方法中执行以下操作。
{{1}}
答案 0 :(得分:1)
一旦封闭函数返回,名称original
以及它所引用的对象可能会消失。如果您想稍后访问它,则必须创建一个不会超出范围的新名称。
存放它的便利位置在对象本身中:
def check(self):
self.original = t.get_gravity()
print "Original gravity from the function:", self.original
my_gravity = 9.888
t.set_gravity(my_gravity)
后续调用将看到该对象:
def verify(self):
t.set_gravity(self.original)