引用稍后在代码

时间:2016-03-10 14:07:15

标签: python python-3.x python-3.4

我正在创建一个python应用程序,我有一个带有函数的类,它可以更改在类之后创建的变量。我不能把这个变量放在类之前,因为该变量引用了类中的变量,我最终得到了一个悖论。它看起来像这样:

class LeClass:
    def __init__(self):
        #Casual__init__Stuff

    def LeFunction(self):
        A = 1

A = LeClass()

有人有解决方案吗?谢谢!

2 个答案:

答案 0 :(得分:3)

在您的类代码中分配变量A全局之前声明它:

global A
A = 1

否则,A将是方法返回后超出范围(不再可访问)的局部变量。

答案 1 :(得分:0)

当你尝试使用那个变量时,告诉python首先在类外寻找变量。

以下是代码:

class LeClass:
def __init__(self):
    pass
    #Casual__init__Stuff

def LeFunction(self):
    global A
    A = 1


A = LeClass()
print("First Print :", A)
A.LeFunction()
print("Second Print :", A)

以下是代码的输出:

First Print : <__main__.LeClass object at 0x7f2ba3f1bb38>
Second Print : 1