假设我有一个具有这种结构的Python包:
project
+---> module1.py
+---> module2.py
+---> module3.py
现在,我决定将这些分组到子包中:
project
+---> topic1
+---> module1.py
+---> module2.py
+---> topic2
+---> module3.py
让我们进一步假设其他项目中有很多用户(我不想更新/发送电子邮件/破解他们的代码而不知道)使用以下内容:
from project.module1 import AwesomeClass
这不再适用于新设计。
我能做的是:
project
+---> module1.py
+---> topic1
+---> module1.py
+---> module2.py
+---> topic2
+---> module3.py
,文件project/module1.py
只包含一行
# For backwards compatability
from project.topic1.module1 import AwesomeClass
虽然这不是很漂亮,但与重构相反。
是否有一些东西可以放在__init__.py
中使其正常工作,或者其他一些黑客将它链接到它的旧地方而不是那么明显?
答案 0 :(得分:0)
我认为
Person(const Person& p) = default;
是唯一明智的解决方案。