从同一个类的另一个函数访问变量

时间:2014-09-03 22:20:23

标签: python class object methods scope

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):

我必须使用verifyt.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}}

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)