私はただの卵です。. . . 初心者には明らかかもしれませんが、私にはfrom some.package.module import module
イディオムが必要でした。
GeneralHelpfulClass の 1 つのメソッドを変更する必要がありました。これは失敗しました:
import some.package.module
class SpeciallyHelpfulClass(some.package.module.GenerallyHelpfulClass):
def general_method(self):...
some.package.module.GenerallyHelpfulClass = SpeciallyHelpfulClass
コードは実行されましたが、SpeciallyHelpfulClass にオーバーロードされた動作は使用されませんでした。
これはうまくいきました:
from some.package import module
class SpeciallyHelpfulClass(module.GenerallyHelpfulClass):
def general_method(self):...
module.GenerallyHelpfulClass = SpeciallyHelpfulClass
アレックスが書いたように、イディオムは「モジュールを取得する」と推測しfrom ... import
ます。これは、パッケージ内の他のモジュールによって取得されるためです。さらに推測すると、長いドット参照はモジュールを長いドット参照によるインポートで名前空間に持ち込むように見えますが、他の名前空間で使用されるモジュールは変更しません。したがって、インポート モジュールへの変更は、それらが行われた名前空間にのみ表示されます。同じモジュールの 2 つのコピーがあり、それぞれがわずかに異なる参照の下で利用可能であるかのようです。