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 14:44 | IT novinky

    Apple bez varování odstranil ze svého obchodu sociální síť VKontaktě i další aplikace skupiny VK, jako je VK Music nebo VK Video [Novinky.cz].

    Ladislav Hagara | Komentářů: 0
    dnes 14:22 | IT novinky

    V dubnu loňského roku představený poštovní klient Notion Mail bude 22. září ukončen.

    Ladislav Hagara | Komentářů: 1
    dnes 04:33 | Komunita

    Konference OpenAlt 2026 hledá přednášející. Proběhne o víkendu 7. a 8. listopadu na půdě Fakulty informačních technologií VUT v Brně. Témata konference jsou: Otevřený a svobodný software, IoT a Hnutí tvůrců, Vzdělávání, Bezpečnost a soukromí, Otevřená společnost, komunity a data, OpenMobility a další.

    Ladislav Hagara | Komentářů: 0
    dnes 04:22 | IT novinky

    Společnosti OpenAI a Broadcom oznámily čip optimalizovaný pro AI pojmenovaný Jalapeño.

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

    Deno (Wikipedie), běhové prostředí (runtime) pro JavaScript, TypeScript a WebAssembly, bylo vydáno v nové verzi 2.9. Hlavní novinkou je deno desktop pro převod Deno projektu na desktopovou aplikaci. Jedná se o alternativu k frameworkům Electron nebo Tauri.

    Ladislav Hagara | Komentářů: 2
    včera 15:44 | IT novinky

    Od zítra jsou Datové schránky oficiálně na nové adrese datovka.gov.cz. Adresa mojedatovaschranka.cz zůstává funkční do 27. srpna 2026, následně budou uživatelé automaticky přesměrováni na datovka.gov.cz.

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

    Dolphin (Wikipedie), tj. open source multiplatformní emulátor herních konzolí GameCube a Wii od Nintenda, byl vydán ve verzi 2606. S podporou Game Boy Playeru.

    Ladislav Hagara | Komentářů: 0
    včera 11:11 | Zajímavý software

    Vasudeva Kamath představil utilitu debvulns, alternativu k nativní utilitě debsecan, pro výpis zranitelností v Debianu. Navíc má především možnost výstupu ve strukturovaných formátech JSON a CSV. V plánu je exportér pro Prometheus.

    Ladislav Hagara | Komentářů: 0
    24.6. 21:44 | IT novinky

    Oficiální český státní eshop s elektronickými dálničními známkami nově najdete na edalnice.gov.cz. Doména gov.cz jasně potvrzuje, že jste na oficiálním státním webu [𝕏].

    Ladislav Hagara | Komentářů: 27
    24.6. 14:22 | Nová verze

    Byla vydána nová verze 4.8.0 interaktivního shellu fish (friendly interactive shell, Wikipedie). Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 6
    Které desktopové prostředí na Linuxu používáte?
     (11%)
     (8%)
     (2%)
     (17%)
     (31%)
     (3%)
     (6%)
     (2%)
     (15%)
     (26%)
    Celkem 1991 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník


    Dotaz: python-dynamicke funkce

    19.1.2009 11:21 python greenhorn
    python-dynamicke funkce
    Přečteno: 312×
    Zdravim, resim nasledujici problem.
    class Abc:
            something = [ 'Foo', 'Bar', 'Baz' ]
    
            def __init__(self):
                    for s in something:
                            # ???
    
    abc=Abc()
    
    abc.doFoo()
    abc.doBar()
    abc.doBaz()
    
    Potrebuju pro kazdou polozku v 'something' za behu programu vyrobit funkci doXXX(). Nevite, jak na to?

    Odpovědi

    19.1.2009 12:05 Messa | skóre: 39 | blog: Messa
    Rozbalit Rozbalit vše Re: python-dynamicke funkce
    setattr(self, "do" + s, nejakaFunkce)
    
    19.1.2009 12:12 Messa | skóre: 39 | blog: Messa
    Rozbalit Rozbalit vše Re: python-dynamicke funkce

    Ještě bych doplnil malou ukázku s jedním takovým hezkým pythonovým chytákem:

    class Abc:
      something = ['Foo', 'Bar', 'Baz']
      def __init__(self):
        for s in self.something:
          fun = lambda: s
          setattr(self, "do" + s, fun)
          del fun
    
    
    abc=Abc()
    print abc.doFoo()  # vypíše: Baz
    print abc.doBar()  # vypíše: Baz
    print abc.doBaz()  # vypíše: Baz
    
    class Abc2:
      something = ['Foo', 'Bar', 'Baz']
      def __init__(self):
        for s in self.something:
          setattr(self, "do" + s, self._make_fun(s))
    
      def _make_fun(self, s):
          return lambda: s
    
    
    abc=Abc2()
    print abc.doFoo()  # vypíše Foo
    print abc.doBar()  # vypíše Bar
    print abc.doBaz()  # vypíše Baz
    

    BTW ten WYSIWYG editor tady je ale stupidní. Musel jsem si to přepnout na Zdroj, abych vůbec něco napsal a nezešílel z toho.

    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.