импортирование функции из другого файла

a.py

import b
hello = ("bye")

def hello():
    inputa = input("hi")
    if input a == 'hi':
        b.goodbye()

b.py

import a
bye = ("hello")

def goodbye():
    inputb = input("bye")
    if input inputb == 'bye':
        a.hello()

при запуске любого кода и вводе hi или bye выводит ошибку

Exception has occurred: AttributeError
partially initialized module 'b' has no attribute 'goodbye' (most likely due to a circular import)

пробовал переназывать файлы, функции, но ничего не помогает


Ответы (1 шт):

Автор решения: Kers
  1. Циклические импорты в питоне считаются ошибкой. Создайте еще файл main.py в который и вынесите логику вызова этих функций. Или сделайте один файл основным в который будет подгружаться все остальное. По логике обычно программа имеет одну точку входа (в вашем случае файл с запуска которого все начинается).

  2. Для If не нужна доп конструкция input. Напишите лучше так:

if inputb == 'bye':

Аналогично и для а.py

→ Ссылка