Memtest86+ (Wikipedie), svobodný nástroj pro kontrolu operační paměti, byl vydán ve verzi 9.00. S podporou architektury AArch64 (ARM64).
Společnost Fairphone stojící za stejnojmennými mobilními telefony představila (pdf) bezdrátová špuntová sluchátka Fairbuds 2. Opravitelná, s vyměnitelnými bateriemi a tříletou zárukou. Cena 119 eur.
O víkendu 17. a 18. října lze na brněnském výstavišti navštívit s jednou vstupenkou dvě akce: Maker Faire Brno, festival inovací, kreativity a kutilství, a GameDev Connect, akci určenou pro všechny současné a hlavně budoucí herní vývojáře.
Canonical vydal (email) Ubuntu 26.10 Stonking Stingray. 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 2027.
České Radiokomunikace (CRA) ve čtvrtek odstřelily rozhlasový vysílač Liblice B, dosud nejvyšší stavbu v Česku. O demolici dvou 355 metrů vysokých stožárů rozhodly z důvodu jejich nevyužívání, už v úterý přitom zhasly a demontovaly jejich osvětlení.
Microsoft Defender nově podporuje linuxové desktopy.
Oficiální Epic Games Launcher je v nové preview verzi poprvé dostupný i pro Linux (FAQ). Pracuje se na novém Easy Anti-Cheatu pro Linux (EAC Linux v2) a podpoře hry Fortnite na Linuxu.
Desktopové prostředí KDE Plasma bylo vydáno ve verzi 6.8. Novinky zahrnují lepší podporu vzdálené plochy, sdílení a nahrávání obrazovky a řadu drobností napříč uživatelským rozhraním (úplný seznam změn, shrnutí ve wiki).
Apple představil 7palcový displej Apple HomeView s podporou Apple Intelligence a Siri AI pro ovládání chytré domácnosti, novou řadu vybavení chytré domácnosti Apple Home Collection, další generaci HomePodu mini a novou Apple TV 4K. Apple HomeView není v Evropské unii v prodeji, jelikož umělá inteligence Siri v rámci systému iOS v EU momentálně není k dispozici. Apple spolupracuje s EU a snaží se najít cestu, jak situaci vyřešit.
KDE slaví 30 let. Přesně před 30 lety, 14. října 1996, poslal Matthias Ettrich do diskusní skupiny comp.os.linux.misc zprávu, která započala historii projektu KDE. Důležité milníky jsou zobrazeny na časové ose.
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
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.
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.
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ě)
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 ....
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)
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)
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]
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).
Tiskni
Sdílej: