abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 01:22 | Nová verze

    Byla vydána (𝕏) zářijová aktualizace aneb nová verze 1.105 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.105 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.

    Ladislav Hagara | Komentářů: 0
    včera 15:33 | Komunita

    Ve Firefoxu bude lepší správa profilů (oddělené nastavení domovské stránky, nastavení lišt, instalace rozšíření, uložení hesla, přidání záložky atd.). Nový grafický správce profilů bude postupně zaváděn od 14.října.

    Ladislav Hagara | Komentářů: 0
    včera 12:44 | Nová verze

    Canonical vydal (email) Ubuntu 25.10 Questing Quokka. Přehled novinek v poznámkách k vydání. Jedná se o průběžné vydání s podporou 9 měsíců, tj. do července 2026.

    Ladislav Hagara | Komentářů: 0
    včera 12:22 | Nová verze

    ClamAV (Wikipedie), tj. multiplatformní antivirový engine s otevřeným zdrojovým kódem pro detekci trojských koní, virů, malwaru a dalších škodlivých hrozeb, byl vydán ve verzi 1.5.0.

    Ladislav Hagara | Komentářů: 0
    včera 01:22 | Nová verze

    Byla vydána nová verze 1.12.0 dynamického programovacího jazyka Julia (Wikipedie) určeného zejména pro vědecké výpočty. Přehled novinek v příspěvku na blogu a v poznámkách k vydání. Aktualizována byla také dokumentace.

    Ladislav Hagara | Komentářů: 0
    8.10. 15:11 | Bezpečnostní upozornění

    V Redisu byla nalezena a v upstreamu již opravena kritická zranitelnost CVE-2025-49844 s CVSS 10.0 (RCE, vzdálené spouštění kódu).

    Ladislav Hagara | Komentářů: 5
    8.10. 14:00 | IT novinky

    Ministr a vicepremiér pro digitalizaci Marian Jurečka dnes oznámil, že přijme rezignaci ředitele Digitální a informační agentury Martina Mesršmída, a to k 23. říjnu 2025. Mesršmíd nabídl svou funkci během minulého víkendu, kdy se DIA potýkala s problémy eDokladů, které některým občanům znepříjemnily využití možnosti prokázat se digitální občankou u volebních komisí při volbách do Poslanecké sněmovny.

    Ladislav Hagara | Komentářů: 18
    8.10. 12:33 | Zajímavý software

    Společnost Meta představila OpenZL. Jedná se o open source framework pro kompresi dat s ohledem na jejich formát. Zdrojové kódy jsou k dispozici na GitHubu.

    Ladislav Hagara | Komentářů: 0
    8.10. 03:33 | IT novinky

    Google postupně zpřístupňuje českým uživatelům Režim AI (AI Mode), tj. nový režim vyhledávání založený na umělé inteligenci. Režim AI nabízí pokročilé uvažování, multimodalitu a možnost prozkoumat jakékoliv téma do hloubky pomocí dodatečných dotazů a užitečných odkazů na weby.

    Ladislav Hagara | Komentářů: 0
    7.10. 18:11 | Nová verze

    Programovací jazyk Python byl vydán v nové major verzi 3.14.0. Podrobný přehled novinek v aktualizované dokumentaci.

    Ladislav Hagara | Komentářů: 2
    Jaké řešení používáte k vývoji / práci?
     (38%)
     (46%)
     (15%)
     (17%)
     (21%)
     (15%)
     (17%)
     (15%)
     (15%)
    Celkem 204 hlasů
     Komentářů: 13, poslední 8.10. 07:41
    Rozcestník

    Dotaz: Python a import souborů

    14.7.2015 15:53 Kolemjdoucí
    Python a import souborů
    Přečteno: 344×
    Ahoj. Začínám tvořit v Pajtnu celkem složitý projekt a uvízl jsem na importu. Pokud budu importovat třeba class s názvem Foo() a tato třída bude umístěna v /a/b/c/d/__init__.py tak ji sourcnu from a.b.c.d import Foo a zavolám a.b.c.d.Foo(). Potud vše OK, ale když potřebuji z class Foo() volat další class Bar(), sourcnu from a.b.c.d import Bar a zavolám Bar(). Jenže potřebuji zachovat strukturu, čili bych chtěl i z class Foo() volat a.b.c.d.Bar() namísto jen Bar() či self.Bar(). Poradí někdo?

    Řešení dotazu:


    Odpovědi

    rADOn avatar 14.7.2015 16:52 rADOn | skóre: 44 | blog: bloK | Praha
    Rozbalit Rozbalit vše Re: Python a import souborů
    Ahoj. Začínám tvořit v Pajtnu celkem složitý projekt a uvízl jsem na importu. Pokud budu importovat třeba class s názvem Foo() a tato třída bude umístěna v /a/b/c/d/__init__.py…
    Kdyz uz tak v a/b/c bude d.py a v nem tridy. __init__.py na tyhle veci nezneuzivej.
    …tak ji sourcnu from a.b.c.d import Foo a zavolám a.b.c.d.Foo(). Potud vše OK…
    Ne, to neni ok. from…import ti udela referenci na Foo ale ne a.b.c.d takze jestli ti to nevybouchne tak mas nekde schovanej import a.b.c.d. Pak ti ale nic nezaruci ze Foo je reference na stejny objekt jako a.b.c.d.Foo, coz je chyba ktera se ti muze pekelne nevyplatit. Cely je to ukazkovy priklad proc je radno se from…import vyhybat.
    …ale když potřebuji z class Foo() volat další class Bar(), sourcnu from a.b.c.d import Bar a zavolám Bar(). Jenže potřebuji zachovat strukturu, čili bych chtěl i z class Foo() volat a.b.c.d.Bar() namísto jen Bar()…
    Kdyz bude a (tedy ten prvni modul z a.b.c.d) nekde v PYTHONPATH tak to bude fungovat. Ale cely je to nesmysl – kdyz nechces aby se moduly chovaly jako moduly, tak je proste nepouzivej. Ty tecky nejsou jen syntakticky cukr ktery kompiler dereferencuje a zapomene jako treba v jave. Jednoduse receno, kazda tecka je nejaky jmenny prostor (modulu, objektu nebo instance). A pokud je budes vyrabet zbytecne jen proto ze to dobre vypada ve zdrojaku, tak strukturu nezachovavas ale naopak rozbijis.
    …či self.Bar(). Poradí někdo?
    Tezko rict kdyz nenapises o co se snazis. Pokud opravdu potrebujes takhle strukturovat jmenne prostory tak bych misto ohybani modulu spis udelal proxy objekty ktere to zaridi v __getattr__(). Ale vzhledem k tomu ze viditelne netusis jak funguji jmenne prostory bych spis rekl ze se snazis realizovat nejaky zlozvyk z jineho jazyka ktery v pythonu nedava smysl.
    "2^24 comments ought to be enough for anyone" -- CmdrTaco
    Bystroushaak avatar 19.7.2015 22:18 Bystroushaak | skóre: 36 | blog: Bystroushaakův blog | Praha
    Rozbalit Rozbalit vše Re: Python a import souborů
    Tohle smrdí javou.
    potřebuji zachovat strukturu, čili bych chtěl i z class Foo() volat a.b.c.d.Bar() namísto jen Bar() či self.Bar()
    Docela by mě zajímalo proč.

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.