abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 02:22 | IT novinky

    Nezisková organizace Internet Security Research Group (ISRG) vydala Výroční zprávu za rok 2024 (pdf). Organizace stojí za certifikační autoritou Let's Encrypt, projektem Prossimo, jehož cílem je používání paměťově bezpečného kódu v kritické internetové infrastruktuře a službou Divvi Up řešící telemetrii respektující soukromí uživatelů.

    Ladislav Hagara | Komentářů: 1
    včera 15:55 | Zajímavý software

    Vývojáři PeerTube, tj. svobodné alternativy k videoplatformám velkých technologických společností, představili mobilní aplikaci PeerTube (Google Play, App Store). Zdrojové kódy jsou k dispozici na Framagitu.

    Ladislav Hagara | Komentářů: 1
    včera 13:55 | IT novinky

    Google představil Gemini 2.0, tj. novou verzi svého modelu umělé inteligence (YouTube).

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

    Vývojáři KDE oznámili vydání balíku aplikací KDE Gear 24.12. Přehled novinek i s náhledy a videi v oficiálním oznámení.

    Ladislav Hagara | Komentářů: 0
    včera 03:44 | Zajímavý článek

    Prosincové číslo časopisu MagPi od nakladatelství Raspberry Pi zdarma ke čtení: MagPi 148 (pdf).

    Ladislav Hagara | Komentářů: 1
    včera 01:55 | Nová verze

    Byla vydána nová verze 3.27 frameworku Flutter (Wikipedie) pro vývoj mobilních, webových i desktopových aplikací a nová verze 3.6 souvisejícího programovacího jazyka Dart (Wikipedie).

    Ladislav Hagara | Komentářů: 0
    11.12. 21:22 | Nová verze

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

    Ladislav Hagara | Komentářů: 0
    11.12. 16:55 | Nová verze

    OpenMandriva ROME, tj. průběžně aktualizovaná (rolling) edice linuxové distribuce OpenMandriva, byla vydána ve verzi 24.12.

    Ladislav Hagara | Komentářů: 2
    11.12. 02:11 | Nová verze

    U příležitosti oslav sedmi let prací na debianím balíčku vyšlo GPXSee 13.33. Nová verze přináší rychlejší vykreslování vektorových map a vylepšení/doladění nového stylu pro OpenAndroMaps/Mapsforge mapy. Kdo by rád OSM mapy v "prémiovém" barevném schématu a nechce čekat až nová verze dorazí do jeho distribuce, nalezne zdrojové kódy na GitHubu.

    Martin Tůma | Komentářů: 57
    10.12. 23:44 | IT novinky

    Tým Google Quantum AI představil kvantový čip Willow se 105 qubity.

    Ladislav Hagara | Komentářů: 2
    Rozcestník

    Dotaz: Python: jak zavolat funkce jejichz castecna jmena jsou ulozena v listu?

    17.10.2015 22:35 zdenek2008 | skóre: 26
    Python: jak zavolat funkce jejichz castecna jmena jsou ulozena v listu?
    Přečteno: 361×
    Potreboval bych si vytisknout __doc__ ze vsech funkci definovanych v externim modulu. Je jich pomerne hodne a vsechny maji cast nazvu stejnou, dalsi cast nazvu je u kazde funkce jina. Abych nemusel vypisovat vypisovaci prikaz pro kazdou zvlast, mam list s temi castmi nazvu ktere se meni, ale pro nize uvedeny cyklus mi python hlasi chybu syntaxe kvuli X. Jak mam tedy spravne dosadit X z listu do prikazu print? (jinak samotny prikaz funguje, pokud tam dosadim plne jmeno funkce, napr. print nejaky_modul_s_funkcemi.spolecna_cast_nazvu_aaa.__doc__)
    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    
    import nejaky_modul_s_funkcemi
    
    list = ['aaa',
    'bbb',
    'ccc']
    
    for X in list:
        print nejaky_modul_s_funkcemi.spolecna_cast_nazvu_X.__doc__
    

    Řešení dotazu:


    Odpovědi

    Řešení 1× (zdenek2008 (tazatel))
    Jendа avatar 17.10.2015 22:47 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: Python: jak zavolat funkce jejichz castecna jmena jsou ulozena v listu?
    Nevím, jak je to s modul.třída.metoda, protože nerozumím OOP v Pythonu, ale na obyčejné modul.funkce mi funguje první odkaz z Googlu po zadání python call function by name
    /tmp> cat foo.py 
    
    def fun_aaa():
      print("I'm aaa")
    
    def fun_bbb():
      print("I'm bbb")
    
    /tmp> cat f.py
    #!/usr/bin/env python
    
    import foo
    
    l = ['aaa', 'bbb']
    
    for X in l:
      #m = globals()["foo.fun_%s"%X]
      m = getattr(foo, "fun_%s"%X)
      print(m())
    /tmp> ./f.py
    I'm aaa
    None
    I'm bbb
    None
    
    Řešení 1× (zdenek2008 (tazatel))
    Jendа avatar 17.10.2015 22:50 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: Python: jak zavolat funkce jejichz castecna jmena jsou ulozena v listu?
    Btw. list bych proměnnou radši nepojmenovával, nedávno jsme tu měli chudáka, který pojmenoval proměnnou set, a pak se divil.
    Řešení 1× (zdenek2008 (tazatel))
    18.10.2015 00:18 chrono
    Rozbalit Rozbalit vše Re: Python: jak zavolat funkce jejichz castecna jmena jsou ulozena v listu?
    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    
    import nejaky_modul_s_funkcemi
    
    for X in dir(nejaky_modul_s_funkcemi):
        if X.startswith("spolecna_cast_nazvu_"):
            print getattr(nejaky_modul_s_funkcemi, X).__doc__
    18.10.2015 14:40 zdenek2008 | skóre: 26
    Rozbalit Rozbalit vše Re: Python: jak zavolat funkce jejichz castecna jmena jsou ulozena v listu?
    Diky panove, obe reseni funguji tak jak jsem potreboval. Jinak startpage.com (respektuji sve soukromi) mi to reseni s getattr() take nasel hned napoprve, ale ja to v tom proste nevidel. To je jako kdyz na stole hledate ztracene klice, civite primo na ne a stejne je nevidite.

    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.