Я столкнулся с проблемой, связанной с import in Python. Я реализовал простой калькулятор, кода не так много, но я бы хотел отделить мои логи c от GUI (реализовано с помощью Tkinter).
Мои логи c файл calc_logi c .py :
import enum
from calculator import*
....
Мой GUI файл calculator.py :
from tkinter import *
from calc_logic import *
...
Я получаю сообщение об ошибке:
Traceback (most recent call last):
File "/Users/vladsokolovskii/Desktop/python/gui_project/calculator.py", line 4, in <module>
from calc_logic import *
File "/Users/vladsokolovskii/Desktop/python/gui_project/calc_logic.py", line 2, in <module>
from calculator import *
File "/Users/vladsokolovskii/Desktop/python/gui_project/calculator.py", line 25, in <module>
clear_button = Button(win, text = 'C', padx = 20, pady = 15, command = button_clear)
NameError: name 'button_clear' is not defined
Определение button_clear () in calc_logi c .py :
...
def button_clear():
display.delete(0, END)
display.insert(0, '0')
...
Первая ссылка на button_clear ( ) in calculatro.py
...
clear_button = Button(win, text = 'C', padx = 20, pady = 15, command = button_clear)
...
Я пытался:
clear_button = Button(win, text = 'C', padx = 20, pady = 15, command = lambda: button_clear())
Это не дало мне ошибку, ни работал -_-
Я пытался изменить свой код по-разному, но не смог.
Не могли бы вы объяснить мне, где проблема, я новичок в Python и я не могу найти похожую проблему на Inte rnet, я уверен, что есть решение, но я просто не знаю, как правильно его погуглить ...
Спасибо!