IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
kxmx
Tvůrce
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
Tvůrce
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,
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.