Po pierwsze, przepraszam, jeśli to pytanie zostało już zadane w innym miejscu. Naprawdę go szukałem, ale niczego nie znalazłem.Moduł importu modułu submoduł
Sytuacja jest następująca: W folderze mod
, mam pliki __init__.py
i sub.py
. Zawierają one następujące dane: __init__.py
:
print "mod"
sub.py
:
import __init__
print "sub"
Teraz wykonaj następujące czynności:
>>> import mod
mod
>>> import mod.sub
mod
sub
Ale kiedy robi import mod.sub
, dlaczego mod/__init__.py
ponownie wykonywane? Zostało już zaimportowane. Ta sama cecha występuje dziwne, gdybyśmy po prostu zadzwoń:
>>> import mod.sub
mod
mod
sub
mogę zmienić zachowanie zmieniając import __init__
? Ta linia wydaje mi się najprawdopodobniej niesłuszna.
Dlaczego mówisz "import __init__" w sub.py ?? – rocksportrocker
Ponieważ moduł podstawowy 'mod' zawiera klasy współużytkowane, które są subklasowane w' pod'. – Turion