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 16:55 | Nová verze

    Byla vydána verze 1.93.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.

    Ladislav Hagara | Komentářů: 0
    dnes 14:00 | Komunita

    Svobodný operační systém ReactOS (Wikipedie), jehož cílem je kompletní binární kompatibilita s aplikacemi a ovladači pro Windows, slaví 30. narozeniny.

    Ladislav Hagara | Komentářů: 6
    dnes 11:00 | IT novinky

    Společnost Raspberry Pi má nově v nabídce flash disky Raspberry Pi Flash Drive: 128 GB za 30 dolarů a 256 GB za 55 dolarů.

    Ladislav Hagara | Komentářů: 2
    dnes 10:22 | Zajímavý software

    Technologie Skip pro multiplatformní mobilní vývoj, která umožňuje vývojářům vytvářet iOS a Android aplikace z jediné Swift a SwiftUI kódové základny, se s vydáním verze 1.7 stala open source.

    Ladislav Hagara | Komentářů: 3
    dnes 03:33 | Zajímavý software Ladislav Hagara | Komentářů: 1
    dnes 00:11 | Nová verze

    Byla vydána nová major verze 34.0.0 webového prohlížeče Pale Moon (Wikipedie) vycházejícího z Firefoxu. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 1
    včera 16:11 | Humor

    Win8DE je desktopové prostředí pro Wayland, inspirované nechvalně proslulým uživatelským rozhraním Metro z Windows 8. Nabízí dlaždicové rozhraní s velkými tlačítky a jednoduchou navigací, optimalizované pro dotyková zařízení. Cílem projektu je přetvořit design operačního systému Windows 8 do funkčního a minimalistického rozhraní vhodného pro každodenní použití na Linuxu.

    NUKE GAZA! 🎆 | Komentářů: 12
    včera 14:33 | Nová verze

    Laboratoře CZ.NIC vydaly Datovku 4.28.0 a Mobilní Datovku 2.6.0. Hlavní novinkou je ukládání rozpracovaných datových zpráv do konceptů. Datovka je svobodné multiplatformní aplikace pro přístup k datovým schránkám a k trvalému uchovávání datových zpráv v lokální databázi.

    Ladislav Hagara | Komentářů: 4
    včera 14:22 | Zajímavý projekt

    Unix Pipe Game je vzdělávací karetní hra zaměřená na děti a rodiče, která děti učí používat unixové příkazy prostřednictvím interaktivních úkolů. Klíčovým prvkem hry je využití symbolu | pro pipeline neboli 'rouru', který umožňuje propojit výstupy a vstupy jednotlivých unixových příkazů, v tomto případě vytištěných na kartičkách. Předpokládá se, že rodič má alespoň nějaké povědomí o unixových příkazech a jejich provazování pomocí |.

    … více »
    NUKE GAZA! 🎆 | Komentářů: 3
    včera 13:55 | Zajímavý software

    PCIem je linuxový framework, který vytváří virtuální zařízení PCIe pomocí technik, které umožňují hostitelskému operačnímu systému rozpoznat tyto syntetické 'neexistující' karty jako fyzické zařízení přítomné na sběrnici. Framework PCIem je primárně zamýšlen jako pomůcka pro vývoj a testování ovladačů bez nutnosti použít skutečný hardware. Dle tvrzení projektu si fungování PCIem můžeme představit jako MITM (Man-in-the-Middle), který se nachází mezi ovladači a kernelem.

    NUKE GAZA! 🎆 | Komentářů: 1
    Které desktopové prostředí na Linuxu používáte?
     (17%)
     (5%)
     (0%)
     (10%)
     (21%)
     (3%)
     (5%)
     (2%)
     (11%)
     (36%)
    Celkem 573 hlasů
     Komentářů: 17, poslední dnes 15:24
    Rozcestník
    Štítky: není přiřazen žádný štítek

    Dotaz: pytho: funkce versus lambda funkce

    9.12.2008 14:50 python lamer
    pytho: funkce versus lambda funkce
    Přečteno: 1411×

    Ahoj, mohl by mi nekdo vysvetlit, proc bych mel pouzit lambda funkci namisto normalni funkce? Vyhody, nevyhody? Oboje dela totez...

    soucet=lambda a,b: a+b

    ---

    def soucet(a,b):

      return a+b

     

    Odpovědi

    9.12.2008 15:50 Jan Martinek | skóre: 43 | blog: johny | Brno
    Rozbalit Rozbalit vše Re: pytho: funkce versus lambda funkce

    Lambda umožňuje ušetřit až dva řádky kódu a nemusíš vymýšlet název pro funkci. Tím výhody končí. Giudo van Rossum ji už dávno navrhoval z Pythonu úplně odstranit. Bohužel to neprošlo, ale vůbec nic nezkazíš, když lambdu nikdy nepoužiješ. Spíš naopak.

    9.12.2008 16:14 luky
    Rozbalit Rozbalit vše Re: pytho: funkce versus lambda funkce

    Až pro to budete mít využití, tak názor změníte. Není důvod pro jednoduché operace psát nové funkce někam mimo, když je můžete lambdou zapsat přímo v místě jejich použití. Osobně to u velkých projektů často ocením.

     

    9.12.2008 16:30 Tom.š Ze.le.in | skóre: 21 | blog: tz
    Rozbalit Rozbalit vše Re: pytho: funkce versus lambda funkce

    Nevím jestli v Pythonu (ale v otázce o Pythonu nic není), ale lambda se dost hodí u funkcí které vracejí funkce (například curry, konvertory regexp -> funkce a podobně)

    9.12.2008 17:02 mimi.vx | skóre: 37 | blog: Mimi.VX | Praha
    Rozbalit Rozbalit vše Re: pytho: funkce versus lambda funkce

     no zrovna totez to uplne nedela .... , vykonove na tom bude lepe druha varianta ....., a anonymni funkce maji celkem specificke vyuziti ..... zvlast kdyz nekdo pouziva funkcionalni programovani , napriklad kdyz potrebujes vratit z funkce/tridy funkci

    viz http://docs.python.org/3.0/tutorial/controlflow.html#lambda-forms

     

    + ad 1 komentar nic se nestne kdyz ji nikdy nepouzijes ....

    USE="-gnome -kde";turris
    9.12.2008 19:52 Jan Martinek | skóre: 43 | blog: johny | Brno
    Rozbalit Rozbalit vše Re: pytho: funkce versus lambda funkce

    Takové debaty se na pythonních fórech vlečou už spoustu let. Závěr je pokaždé stejný. Lambda umožní někdy ušetřit až dva řádky kódu a nemusíte pojmenovávat funkci. Někdo tvrdí, že je to báječné. Někdo zase, že se nevyplatí mít další klíčové slovo a konstrukci, která jen omezeným způsobem duplikuje definici funkce.

    Je úplně jedno, co funkce vrací, je jedno zda programujete funkcionálně nebo bůhvíjak, je jedno zda máte velký projekt nebo malý. Uvedený příklad z tutoriálu lze napsat třemi způsoby.

     

    #!/usr/bin/python
    
    class make_incrementor1:
        def __init__(self, x):
            self.x = x
    
        def __call__(self, y):
            return y + self.x
    
    def make_incrementor2(x):
        def incr(y): return x + y
        return incr
    
    def make_incrementor3(n):
        return lambda x: x + n
    
    f = make_incrementor1(42)
    print f(0)
    print f(1)
    
    f = make_incrementor2(50)
    print f(0)
    print f(1)
    
    f = make_incrementor3(55)
    print f(0)
    print f(1)
    
    

     

    9.12.2008 20:12 luky
    Rozbalit Rozbalit vše Re: pytho: funkce versus lambda funkce

    Jenže takový příklad je právě věc kde je lambda úplně, s prominutím, na hovno. Výhodu přináší v konstrukcích (nejen) následujícího druhu:

    a = [1, 2, 3, 4, 5]
    b = map(lambda x: x * 2, a)

    9.12.2008 20:37 Jan Martinek | skóre: 43 | blog: johny | Brno
    Rozbalit Rozbalit vše Re: pytho: funkce versus lambda funkce

    Lambda je naho*no i v tomto případě.

    >>> a = [1, 2, 3, 4, 5]
    >>> [x*2 for x in a]
    [2, 4, 6, 8, 10]
    

     

    9.12.2008 21:25 luky
    Rozbalit Rozbalit vše Re: pytho: funkce versus lambda funkce

    Jistě, šlo mi jen o (podle mě) názornější příklad použití lambdy kdekoliv místo normální funkce, protože to (podle mě) z toho tutoriálového incrementoru začátečník nikdy nepochopí (jako nejpíš i náš tazatel).

     

    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.