Mezinárodní federace hudebního průmyslu (International Federation of the Phonographic Industry) navrhla Evropské komisi zařazení populárního open-source nástroje yt-dlp na evropský seznam 'padělků a pirátství' (EU Counterfeit and Piracy Watch List) pro rok 2027 (plné znění žádosti IFPI). IFPI ve svém podání označuje tento aktivně vyvíjený a o rozličné funkce bohatší fork youtube-dl za 'závažný problém' pro hudební průmysl, v
… více »Byla vydána nová verze 7.4 linuxové distribuce Parrot OS (Wikipedie). Jedná se o linuxovou distribuci založenou na Debianu a zaměřenou na penetrační testování, digitální forenzní analýzu, reverzní inženýrství, hacking, anonymitu nebo kryptografii. Přehled novinek v příspěvku na blogu.
Dnes startuje desátý ročník oblíbené kyberbezpečnostní soutěže The Catch organizované Forenzní laboratoří CESNETu. Letos zavede soutěžící do světa národních výzkumných a vzdělávacích sítí (NREN). Čekají na vás tematické úlohy založené na principu Capture the Flag (CTF), hledání ukrytých flagů i zajímavé ceny. Otestujte své schopnosti a vyrazte na lov flagů.
Byly zpracovány a na YouTube zveřejněny videozáznamy z konference LinuxDays 2026.
Německý startup Aleph Alpha k příležitosti výročí sjednocení Německa zveřejnil open-weight jazykový model Kolibri, vyvíjený s ohledem na unijní pojetí autorského práva, ochranu osobních údajů GDPR a nařízení EU o umělé inteligenci, jehož 'Kodexu správné praxe' je Aleph Alpha signatářem. Výsledkem tohoto přístupu je transparentnější technologie, kterou například budou moci využívat evropské veřejné instituce, ovšem za cenu
… více »Nvidia zveřejnila návrh nové bezpečnostní platformy pro nasazování AI agentů. Jedná se o nasazení AI za použití OpenShell a Sentry, dvou oddělených bezpečnostních vrstev, v nichž může Sentry monitorovat a vyhodnocovat chování AI v OpenShellu tak, že ho v krajním případě až vypne. Mělo by to zabránit dalším únikům AI ze sandboxu.
Přímý přenos (YouTube) z konference LinuxDays 2026, jež probíhá tento víkend v Praze v prostorách FIT ČVUT. Na programu je spousta zajímavých přednášek.
Byla vydána nová verze 0.17.0 programovacího jazyka Zig (Codeberg, Wikipedie). Přispělo 206 vývojářů. Přehled novinek v poznámkách k vydání.
Open-source projekt OpenDLSS-NR je 'bitově přesná reimplementace' neuronové rendrovací sítě DLSS 5 od společnosti NVIDIA, jenže pro grafické API Vulkan (DLSS slouží k vylepšování klasickým způsobem vyrendrovaných snímků pomocí lokálních modelů umělé inteligence, a to v reálném čase). Projekt není nijak spojen se společností NVIDIA, je pouze pro OS Windows a natrénované váhy modelu si uživatelé musí obstarat sami. Zdrojový kód je k dispozici na GitHubu, pod licencí MIT s výjimkou pro komponenty třetích stran.
Společnost Cloudflare představila Clef a Clef-Flash, open-source rozhodovací modely určené pro rychlou a konzistentní klasifikaci vstupů. Na rozdíl od klasických LLM vracejí tyto modely deterministické striktně typované strukturované odpovědi s exaktními pravděpodobnostmi, tedy odpovědi ve stylu přelomového modelu Jev.
… více »for cislo in range(1,100): ... Funkce range vrací seznam čísel ze zadaného intervalu (včetně prvního a vyjma posledního čísla... V tomto případě [0..99]).[1..99]
Dále, řádkům, které vypadají jako neco = cosi, se říká přiřazení. V případě sirka = 20 říkáme počítači, že od teď by se měla šířka rovnat dvaceti. Co znamená, že "šířka je dvacet"? Znamená to, že proměnná jménem "sirka" je vytvořena (nebo je opětovně použita, pokud již existuje) a je jí předána hodnota 20.
Tohle asi nebude chyba v prekladu, ale je to naprosto blbe, takze tohle asi nebude vhodna literatura k pythonu. Python se nechova jako treba Cecko a s promennymi a cisly pracuje uplne jinak.
Spravne je to tak, ze je vytvoren datovy objekt predstavujici hodnotu 20 a promenna/ukazatel s identifikatorem "sirka" (pokud neexistuje), ktery se nasledne nastavi tak, aby ukazoval na datovy objekt. Datovy objekt a promenna jsou v pameti nezavisle na sobe, promenne se nepredava hodnota, ale pouze adresa datoveho objektu.
A jestli tam jsou takhle spatne a zavadejicne podany uz zaklady, tak je lepsi to ani necist, protoze to laikovi udela v hlave akorat gulas. Protoze od tohohle se odviji rada zajimavych vlastnosti Pythonu, ktere nelze pochopit, pokud si clovek mysli, ze v promenne je ulozena hodnota nikoli adresa datoveho objektu. Popis cehokoli muze byt zjednodusujici, ale nikoli nespravny a zavadejici.
(Nevím jak v Pythonu.)
Za našich mladých let se rozlišovaly reference a ukazatele. To koukám už taky neplatí, že.Za mých mladých let se teda reference a ukazatele nerozlišovaly. Basic na ZX Spectru měl čísla, řetězce, pole a to bylo všechno. Přímý přístup do paměti zajišťovaly PEEK a POKE, které měly jako parametr celé číslo.
Nemuze, protoze 20 je hodnota a Python s hodnotami vubec nepracuje, ten pracuje jen s datovymi objekty a i ta 20 je datovy objekt s radou atributu a metod, takze v promenne je pouze odkaz na ten objekt, jak jsem psal. Tady je videt, jak ten prelozeny clanek stoji za houby. Seznam atributu a metod se v pythonu zjistuje pomoci funkce dir(). S cislem 20 se to ma takto:
>>> dir(20)
['__abs__', '__add__', '__and__', '__class__', '__cmp__', '__coerce__', '__delattr__', '__div__', '__divmod__', '__doc__', '__float__', '__floordiv__', '__getattribute__', '__getnewargs__', '__hash__', '__hex__', '__index__', '__init__', '__int__', '__invert__', '__long__', '__lshift__', '__mod__', '__mul__', '__neg__', '__new__', '__nonzero__', '__oct__', '__or__', '__pos__', '__pow__', '__radd__', '__rand__', '__rdiv__', '__rdivmod__', '__reduce__', '__reduce_ex__', '__repr__', '__rfloordiv__', '__rlshift__', '__rmod__', '__rmul__', '__ror__', '__rpow__', '__rrshift__', '__rshift__', '__rsub__', '__rtruediv__', '__rxor__', '__setattr__', '__str__', '__sub__', '__truediv__', '__xor__']
A jdou delat i takovato kouzla:
>>> class X(type(20)):
def __init__(self, val):
type(20).__init__(self, val)
>>> x=X(1)
>>> x
1
>>> x.__class__
<class '__main__.X'>
>>> x + 2
3
Prekryti metod uz asi ukazovat nemusim.
O Ruby nepisu a ani ho neznam a v Pythonu nemuze. Na rozdil od tebe to vim i bez googlovani, znam strukturu malych cisel ulozenych v pameti u CPythonu. Nutno podotknout, ze to je vec interpretu, nikoli jazyka, tudiz je nespravne mluvit o Pythonu, protoze jazyk Python ma nekolik ruznych interpretu, ktere maji ruzne optimalizace. A Python jako jazyk proste s hodnotami nepracuje, neco takoveho napsat je hloupost. Jestli v ruby takova optimalizace je, vsadil bych boty, ze pro programatora se stejne tvari tak, ze to nedela (za predpokladu, ze je takova specifikace jazyka), a ze programator v ruby s malymi cisly nepracuje jinak, nez s velkymi.
Co se tyce vykonu, ruby je pomalejsi nez Python, takze poznamky o bidnosti jeho optimalizace nejsou na miste, ne ve srovnani s ruby
.
Nicméně jsi trochu pozapomněl na mou poznámku o rozdílu mezi referencemi a ukazateli – Python, pokud vím, má čistě referenční objektový model, a reference nemá význam adresy, nýbrž hodnoty (objektu) na ní uložené. Čili celá tahle debata nemá smysl.
Ruby jsem zmínil v závorce jako příklad, kde se tahle optimalizace používá, žádné srovnání jsem nedělal. Stejně tak bych mohl zmínit Lisp.
Jenze v tom clanku se pise o tom chovani na venek, ze se do promenne vlozi hodnota. V clanku se nepise o vnitrni implementaci, kterou beztak nelze popisovat ve vztahu k jazyku, ale jen k danemu prekladaci/interpretu konkretni verze. Mezi tim je rovnez potreba rozlisovat. Z tohoto duvodu nema debata smysl. A v pythonu se predava odkaz na objekt.
Já bych netvrdil, že ten článek "stojí za houby". Je určen pro začátečníky a tak jsem k tomu přistupoval.
Je tam spoustu věcí, ktaré tam chybí, ale pro první seznámení to stačí. Koho to zaujme, tak musí stejně studovat dále.
Jen mi tam vadí nepoužívat interpret. Většina vzorů je určena přímo pro interpert. Jen bych už nemluvil o 2.5 ale 2.6. Dále bych tam zmínil možnost testování a pokusů v ipython
Nejde o to, ze tam neco chybi, ale ze se tam uvadi veci, ktere nejsou pravda. To ze to je pro zacatecniky neni omluvou, spise naopak.
Asi ve treti tride vam rekli, ze nejde odmocnovat zaporne cislo. Prineslo by vam tehdy neco, kdyby vam rekli, ze podle pouziti nekdy delit jde a nekdy nejde? Popr. ze ma vysledek pouze v komplexnim a ne realnem oboru cisel? Podle me by vam to skutecne neco prineslo - zmatek v hlave.
Z hlediska datove abstrakce vytvori. To ze datove objekty malych cisel uz jsou vytvorena predem (a dokonce jsou ulozenu v jiste kompaktni forme) je pro zacatecnika nezajimava optimalizace, ktera pro chapani toho jak jazyk funguje neni dulezita. Ale je nutne pochopit, ze to cislo neni hodnota, ale datovy objekt kdesi v pameti (datovy OBJEKT, tedy i s prislusnym rozhranim) na ktery ta promenna ukazuje. A to je pro chapani toho jazyka velmi dulezite. V pythonu se nikdy nepredava hodnota, pracuje jen s odkazy na datove objekty.
pro chapani toho jazyka velmi duleziteNení to důležité ani trochu.
Je to dulezite, protoze ani v uvodu v ramci zjednoduseni nelze poskytovat nepravdive informace. Je nebetycny rozdil mezi tim neco zjednodusit a psat nesmysly. Toho si musi byt kazdy autor/pedagog vedom.
Ja to zde nevysvetluji pro zacatecniky, to je snad zrejme, ne?
A vy jste opravdu nevlozil do promenne hodnotu, dokonce ani objekt ani retezec. Vlozil jste odkaz na objekt. A mimochodem, promenna neni callable a nevola se
. Volaji se jen nektere urcite datove typy a int mezi ne nepatri.
>>> sirka = 20 >>> id(sirka) 18777152 >>> sirka = 10 >>> id(sirka) 18777392Technicky vzato je položka v tabulce lokálních proměnných modifikovatelné místo v paměti. Ovšem v předchozím příkladu není žádný rozdíl mezi tím, když se v novém přiřazení sirka zničí a vytvoří znovu, a když se ta tabulka jen aktualizuje. Ani být nemůže, protože nevznikl žádný modifikovatelný objekt.
Preco sa pri preklade nepouzil python3? Za cas, ked sa uplne prejde na python 3, tak niektore konstrukcie z py2 budu zacinajuceho programatora velmi miast, napr.: print "Hello world!", atd...
Tiskni
Sdílej: