Pouze tento týden sleva až 80 % na e-learning týkající se Javy. A zároveň využij akce až 30 % zdarma při nákupu e-learningu - Více informací.
Hledáme koordinátorku kurzů a programátora, 100% home office, 100% flexibilní. Prozkoumej aktuální pozice
Java week
Avatar
kxmx
Redaktor
Avatar
kxmx:14.10.2015 14:49

Ahoj, jak se v pythonu efektivně řeší závislosti v situaci kdy v nějakém hlavním modulu importuju více různých modulů, přičemž některé z těchto podmodulů potřebují ke své práci naimportovat nějaký další stejný modul.

příklad

aplikace.py

from modem import Modem
from sensor import Sensor

modem.py

from logger import Logger

sensor.py

from logger import Logger

Jak se zachová python v tomto případě? Závislosti bych si mohl naprosto primitivním způsobem předat konstruktorem, ale připravím se o našeptávač. Co se vůbec DI týče tak jsem našel pouze několik knihoven s nesmyslně složitou syntaxí, tak by mě spíš zajímaly best practices od lidí, kteří v pythonu vytváří složitější aplikace s nějakou architekturou.

 
Odpovědět
14.10.2015 14:49
Avatar
Drakeman
Redaktor
Avatar
Odpovídá na kxmx
Drakeman:18.10.2015 10:30

Podle mě se prostě v tomto případě naimportuje v podmodulech Logger aby jsi jej v daném podmodulu mohl používat. Jinak co se úplně přesně děje pod kapotou když to spustíš tak fakt nevím, tohle jsem totiž nikdy neřešil. To je asi všechno co ti k tomu můžu říct.

Nahoru Odpovědět
18.10.2015 10:30
Když se chce, tak jde všechno,
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
Patrik Valkovič
Člen IT Redactor Gang
Avatar
Odpovídá na kxmx
Patrik Valkovič:18.10.2015 10:33

Podle mě to bude stejné, jako v C. Naimportuje se první výskyt knihovny. Takže v sensor.py už Logger importovat nebude, protože už v projektu importovaný je.

Nahoru Odpovědět
18.10.2015 10:33
Nikdy neumíme dost na to, abychom se nemohli něco nového naučit.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 3 zpráv z 3.