Hru Warhammer: Vermintide 2 (ProtonDB) lze na Steamu získat zdarma napořád, když aktivaci provedete do pondělí 24. listopadu.
Virtualizační software Xen (Wikipedie) byl vydán v nové verzi 4.21. Podrobnosti v poznámkách k vydání a přehledu nových vlastností.
Evropská komise schválila český plán na poskytnutí státní pomoci v objemu 450 milionů eur (téměř 11 miliard Kč) na rozšíření výroby amerického producenta polovodičů onsemi v Rožnově pod Radhoštěm. Komise o tom informovala v dnešní tiskové zprávě. Společnost onsemi by podle ní do nového závodu v Rožnově pod Radhoštěm měla investovat 1,64 miliardy eur (téměř 40 miliard Kč).
Microsoft v příspěvku na svém blogu věnovaném open source oznámil, že textové adventury Zork I, Zork II a Zork III (Wikipedie) jsou oficiálně open source pod licencí MIT.
První prosincový týden proběhne SUSE Hack Week 25. Zaměstnanci SUSE mohou věnovat svůj pracovní čas libovolným open source projektům, například přidání AI agenta do Bugzilly, implementaci SSH v programovacím jazyce Zig nebo portaci klasických her na Linux. Připojit se může kdokoli.
Google oznámil, že Quick Share na Androidu funguje s AirDropem na iOS. Zatím na telefonech Pixel 10. Uživatelé tak mohou snadno přenášet soubory z telefonů s Androidem na iPhony a obráceně.
Byla vydána nová verze 8.5 (8.5.0) skriptovacího jazyka PHP používaného zejména k vývoji dynamických webových stránek. Přináší řadu novinek a vylepšení (URI Extension, Pipe Operator, Clone With, …). Vydána byla také příručka pro přechod z předchozích verzí.
Evropská komise zahájila tři vyšetřování týkající se cloudových platforem Amazon Web Services (AWS) a Microsoft Azure. Evropská exekutiva, která plní také funkci unijního antimonopolního orgánu, chce mimo jiné určit, zda jsou americké společnosti Microsoft a Amazon v cloudových službách takzvanými gatekeepery, tedy hráči, kteří významně ovlivňují provoz internetu a musí dle nařízení o digitálních trzích (DMA) na společném trhu
… více »Společnost Meta Platforms vyhrála ostře sledovaný spor o akvizici sítě pro sdílení fotografií Instagram a komunikační aplikace WhatsApp. Podle amerického soudu firma jejich převzetím neporušila antimonopolní zákon, protože si tak nemonopolizovala trh sociálních sítí. Žalobu na Metu podala před pěti lety americká Federální obchodní komise (FTC). FTC argumentovala, že Meta, tehdy známá jako Facebook, koupila tyto dvě společnosti v letech 2012 a 2014 proto, aby s nimi nemusela soutěžit.
Home Assistant včera představil svůj nejnovější oficiální hardware: Home Assistant Connect ZBT-2 pro připojení zařízení na sítích Zigbee nebo Thread.
Většina programovacích jazyků používá jádro jazyka (všechna klíčová slova) a knihovny, které se starají o obtížnější nebo hardwarově závislé operace. Python není žádnou výjimkou. Vzhledem k tomu, že se jedná o interpretovaný jazyk, mohou být moduly napsány v Pythonu nebo v C. C verze mají určitě výkonnostní výhodu, protože jsou přeloženy přímo do binárního kódu a jsou spojeny rovnou s interpretem (tyto moduly jsou řešeny jako dynamické knihovny - .so).
Aby programátor nemusel stále opisovat importní příkaz, jsou některé
hojně používané objekty umístěny ve vestavěném modulu. Vestavěný modul se
nazývá __builtins__. Abychom měli práci ještě více usnadněnou, jsou
implicitně objekty z tohoto modulu nakopírovány do lokální množiny názvů.
Nemusíme tedy u těchto objektů zadávat jmenný prostor. Místo
__builtins__.int(x) můžeme zadat prostě int(x).
Pojďme se tedy podívat na objekty modulu __builtins__.
Tuto funkci volá příkaz import při načítání nových modulů. Můžete ji samozřejmě použít ve svých funkcích všude tam, kde hodláte importovat nový modul. První argument představuje jméno načítaného modulu, globals a locals jsou slovníky obsahující globální a lokální proměnné. Parametr fromlist představuje seznam objektů vyjímaných z modulu (from xxx import neco). Poslední parametr by nás mohl trochu zmást. Mohli bychom si myslet, že po jeho zadání vrátí funkce pouze objekty toho názvu. Funkce však vrací stále objekt modulu. Porovnává ale klíče slovníku locals s hodnotami v fromlist. Samotné nakopírování do lokální množiny názvů je však na nás. Chceme-li například importovat funkci exit, musíme zadat:
exit = __import__('sys', globals(), locals(), [exit]).exit
Asi tuto funkci nebudete používat tímto způsobem, ale přes jednoduchý příkaz import. Ukazuje nám však (ona i jiné funkce z __builtins__), jak Python vnitřně funguje.
name v objektu object.
delattr(x, 'neco') je ekvivalentem del x.neco.Vrací nový slovník vytvoření z argumentu(ů). Jestliže není žádný argument předán, vytvoří prázdný slovník. Předáte-li jako parametr mapovací objekt, vrátí slovník se stejným párováním (klíč -> hodnota). V ostatních případech musí být argument posloupnost, kontejner podporující iterátory nebo objekt iterátoru. Jednotlivé prvky parametru musí být stejných typů a obsahovat 2 objekty. Je-li některý klíč předán vícekrát, je v novém slovníku použita pouze jeho poslední hodnota. Můžete také kombinaci klíč->hodnota předat jako klíčové_slovo = hodnota (např. jedna=1).
dict({'one': 2, 'two': 3})
dict({'one': 2, 'two': 3}.items())
dict({'one': 2, 'two': 3}.iteritems())
dict(zip(('one', 'two'), (2, 3)))
dict([['two', 3], ['one', 2]])
dict(one=2, two=3)
dict([(['one', 'two'][i-2], i) for i in (2, 3)])
Všechny tyto příkazy jsou ekvivalentem k {"one": 2, "two": 3}.
Nástroje: Tisk bez diskuse
Tiskni
Sdílej:
locals(), globální
pomocí globals() a builtin je jmenný prostor modulu __builtin__.
Myslím si, že osobně bych za start pro takovou tour de Python nevybral ani za mák modul __builtins__, ale začal bych něčím užitečnějším s tím, že mnoho z těchto funkcí člověk pozná jaksi "mimochodem".
__builtins__ ale __builtin__. Viz Python Library Reference:
As an implementation detail, most modules have the name __builtins__ (note the "s") made available as part of their globals. The value of __builtins__ is normally either this module or the value of this modules's __dict__ attribute. Since this is an implementation detail, it may not be used by alternate implementations of Python.
Čili, pokud autor alespoň z rychlíku viděl Python, pak určitě zkusil následující:
>>> import __builtins__ Traceback (most recent call last): File "<stdin>", line 1, in ? ImportError: No module named __builtins__ >>>Zdálo by se, že jde o zbytečné bazírování, ale jak může o Pythonu psát někdo, kdo si ani uvedené příklady nevyzkouší. Sám osobně, když jsem psal Létající cirkus jsme se snažil co nejpečlivěji přečíst dokumentaci a následně z ní vyjmout to nejpodstatnější, nikoli doslova překládat z angličtiny. A to jsem tenkrát měl 18 let a znal Python půl roku.
import __builtin__.
Navyše, zišlo by sa zmieniť, čo sa stane pri predefinovaní builtin funkcií a podobne. Takto mi nie je jasné, o čo autorovi týmto článkom išlo.