最佳答案
我知道在 python 中循环导入的问题以前出现过很多次,我已经阅读了这些讨论。在这些讨论中反复提出的意见是,循环导入是糟糕设计的标志,应该重新组织代码以避免循环导入。
谁能告诉我在这种情况下如何避免循环进口?我有两个类,我希望每个类都有一个构造函数(方法) ,它接受另一个类的一个实例并返回该类的一个实例。
更具体地说,一个类是可变的,一个是不可变的。不可变的类是必需的 用于散列、比较等。可变类也需要执行这些操作。这类似于集合和冻结集或列表和元组。
我可以将两个类定义放在同一个模块中。还有其他建议吗?
一个玩具的例子是类 A,它有一个属性是一个列表,类 B,它有一个属性是一个元组。然后类 A 有一个方法,它接受类 B 的一个实例并返回类 A 的一个实例(通过将元组转换为一个列表) ,类似地,类 B 有一个方法,它接受类 A 的一个实例并返回类 B 的一个实例(通过将列表转换为一个元组)。