Ich habe also zwei Module A und B und ein weiteres installiertes Modul C. Angenommen, ich verwende einige Methoden von C in A und B. Ich brauche auch Modul A in B. Logischerweise wären meine Importe also :
A :
import C
B :
import A
Die Logik würde mir sagen, dass B Funktionen aus A und C enthalten würde. Dies funktioniert jedoch nicht standardmäßig so. Um in Modul A auf Funktionen in C zu verweisen, benötigen wir die zusätzliche Ebene der Namespace-Referenz
A.C.some_c_module()
Ich habe herausgefunden, dass wir C sowohl in A als auch in B importieren können, ohne die lästigen "C-Sprache-ähnlichen" ifdef-Klone zu verwenden, und es würde gut funktionieren. Meine Frage ist, ob der Import solcher Module zweimal mit einer Strafe kommen? In dem Sinne, dass Python intelligent genug ist, um zu wissen, dass A.C.some_module == C.some_module ist? Oder bin ich einfach ein böser Junge, wenn ich das tue?