Como evitar importações circulares em Python? [duplicado

Esta pergunta já tem uma resposta aqui:

Dependência de importação circular em Python 5 respostas

Eu sei que a questão das importações circulares em python já surgiu várias vezes e li estas discussões. O comentário que é feito repetidamente nessas discussões é que uma importação circular é um sinal de um design incorreto e o código deve ser reorganizado para evitar a importação circula

Alguém poderia me dizer como evitar uma importação circular nesta situação ?: Eu tenho duas classes e quero que cada classe tenha um construtor (método) que pega uma instância da outra classe e retorna uma instância da class

Mais especificamente, uma classe é mutável e a outra é imutável. A classe imutável é necessária para hash, comparação e assim por diante. A classe mutável é necessária para fazer as coisas também. É semelhante a conjuntos e conjuntos de propriedades ou a listas e tupla

Eu poderia colocar as duas definições de classe no mesmo módulo. Existem outras sugestões?

Um exemplo de brinquedo seria a classe A que possui um atributo que é uma lista e a classe B que possui um atributo que é uma tupla. Então a classe A tem um método que pega uma instância da classe B e retorna uma instância da classe A (convertendo a tupla em uma lista) e da mesma forma a classe B tem um método que pega uma instância da classe A e retorna uma instância da classe B (convertendo a lista em uma tupla).

questionAnswers(3)

yourAnswerToTheQuestion