Я пытаюсь создать модуль, который требует переменных из основного класса, поэтому я импортировал указанные переменные в модуль, но когда я пытаюсь протестировать свой новый модуль, импортировав его в основной класс, он говорит, что может 'импортировать это.
Кажется, это потому, что я импортирую основной класс в новый модуль, что вызывает проблему, потому что всякий раз, когда я удаляю импорт, он работает, но больше не может получить доступ к переменным из основного класса, необходимым для функционирования,
Основной класс:
from Mod import Mod
variable1=5
variable2=3
mod=Mod()
mod.task()
Новый модуль:
from Main import variable1, variable2
class Mod:
def task(self):
print(variable1+variable2)
Когда я запускаю основной класс, я получаю это:
Traceback (most recent call last):
File "D:\.here\Computer Science\Computer Science Stuff\Python Projects\Main.py", line 1, in <module>
from Mod import Mod
File "D:\.here\Computer Science\Computer Science Stuff\Python Projects\Mod.py", line 1, in <module>
from Main import variable1, variable2
File "D:\.here\Computer Science\Computer Science Stuff\Python Projects\Main.py", line 1, in <module>
from Mod import Mod
ImportError: cannot import name 'Mod' from 'Mod' (D:\.here\Computer Science\Computer Science Stuff\Python Projects\Mod.py)
И когда я запускаю новый модуль, я получаю это:
Traceback (most recent call last):
File "D:\.here\Computer Science\Computer Science Stuff\Python Projects\Mod.py", line 1, in <module>
from Main import variable1, variable2
File "D:\.here\Computer Science\Computer Science Stuff\Python Projects\Main.py", line 1, in <module>
from Mod import Mod
File "D:\.here\Computer Science\Computer Science Stuff\Python Projects\Mod.py", line 1, in <module>
from Main import variable1, variable2
ImportError: cannot import name 'variable1' from 'Main' (D:\.here\Computer Science\Computer Science Stuff\Python Projects\Main.py)
Я понятия не имею, почему это может произойти. Это противоречит тому, что я делал в Java.
Как бы я мог ссылаться на глобальные переменные, хранящиеся в главном классе, если бы не импортировал их?