2016-03-10 3 views
1

Я создаю приложение python, и у меня есть класс с функцией, которая изменяет переменную, созданную после класса. Я не могу поместить эту переменную перед классом, потому что эта переменная относится к переменным внутри класса, и я получаю парадокс. Это выглядит примерно так:Ссылаясь на объект, который создается позже в коде

class LeClass: 
    def __init__(self): 
     #Casual__init__Stuff 

    def LeFunction(self): 
     A = 1 

A = LeClass() 

У кого-нибудь есть решение? Благодаря!

ответ

3

Объявите переменную A глобальный перед назначением его из вашего кода класса:

global A 
A = 1 

В противном случае, будет локальным переменной, которая выходит из области видимости (не доступно больше) после возврата метода.

+0

Отлично! Спасибо! – iPhynx

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 
Смежные вопросы