Я хотел бы определить глобальную переменную класса A в Pyhton. Эта переменная порождается другим классом В, в другом модуле, который конкретизируется в классе А. Проблемы:Как определить глобальную переменную в Python из внешнего класса?
- Python не позволяет мне импорта класса B в класс A «не может импортировать имя класса А "
- Python позволяет мне импортировать в классе B весь модуль, где находится класс A, но когда я пытаюсь выполнить , чтобы установить глобальную переменную из класса BI, получите ошибку« global name »класса A« не определено ».
в коде это мой класс A:
from moduleB import ClassB
class ClassA:
global_var = None
def __init__(self, x, y):
self.x = x
self.y = y
self.classB = None
self.inst_classB()
def inst_classB(self):
self.classB = ClassB(x,y)
и это мой класс B:
class ClassB:
def __init__(self,x,y):
self.x = x
self.y = y
def define_var_for_class_A(self):
# I assign the value here and it is here where the procedure fails
ClassA.global_var = 20
Как я могу решить эту проблему?
линия 'CLASSA:' и 'ClassB' является недействительным синтаксисом. Так что 'def__init __ (...)' (отсутствует пробел после 'def'). Кроме того, 'значение' не определено в функции' define_var_for_class_A'. Пожалуйста, укажите фактический код, а не только псевдокод. –
Вам не следует ожидать, что циклический импорт будет работать. У вас не может быть импорт B и B import A. Они могут работать, но они плохие. Что вы действительно пытаетесь достичь? –
Я пытаюсь определить глобальную переменную одного класса из другого класса, который создается экземпляром класса с глобальной переменной. Я не могу вставить весь код здесь, так как он длиннее этого. Это упрощенный код. Я хотел бы определить глобальную переменную без импорта другого класса. – user3523583