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 05:22 | IT novinky

    Nezisková organizace Electronic Frontier Foundation (EFF) hájící občanské svobody v digitálním světě po téměř 20 letech opouští platformu X (dříve Twitter). Na platformách Bluesky, Mastodon, LinkedIn, Instagram, TikTok, Facebook, Threads a YouTube zůstává.

    Ladislav Hagara | Komentářů: 1
    dnes 03:33 | Nová verze

    Terminálový textový editor GNU nano byl vydán ve verzi 9.0. Vylepšuje chování horizontálního posouvání pohledu na dlouhé řádky a chování některých klávesových zkratek. Více v seznamu změn.

    |🇵🇸 | Komentářů: 0
    včera 19:22 | IT novinky

    Ministerstvo financí ve spolupráci s finanční správou dnes představilo beta verzi aplikace využívající umělou inteligenci pro předvyplnění daňového přiznání. Není třeba přepisovat údaje z různých potvrzení, ani hledat správné řádky, kam údaje napsat. Stačí nahrát dokumenty a využít AI.

    Ladislav Hagara | Komentářů: 7
    včera 18:33 | Zajímavý projekt

    Výrobce počítačových periferií Keychron zveřejnil repozitář se schématy šasi klávesnic a myší. Licence je restriktivní, zakazuje většinu komerčních užití a v podstatě jsou tak data vhodná pouze pro výukové účely, hlášení a opravy chyb, případně výrobu vlastního příslušenství.

    |🇵🇸 | Komentářů: 1
    včera 18:22 | Nová verze

    Správce balíčků APT, používaný v Debianu a odvozených distribucích, byl vydán ve verzi 3.2 (seznam změn). Mezi novinkami figurují nové příkazy pro práci s historií, včetně vracení transakcí.

    |🇵🇸 | Komentářů: 0
    včera 14:33 | IT novinky

    Společnost Anthropic oznámila Projekt Glasswing a s ní související AI model Claude Mythos Preview. Jedná se o iniciativu zaměřenou na kybernetickou bezpečnost, do které se zapojily velké technologické společnosti Amazon Web Services, Anthropic, Apple, Broadcom, Cisco, CrowdStrike, Google, JPMorganChase, Linux Foundation, Microsoft, NVIDIA a Palo Alto Networks. Anthropic věří, že nový AI model Claude Mythos Preview dokáže

    … více »
    Ladislav Hagara | Komentářů: 1
    včera 13:55 | Zajímavý software

    Firma Ojective Development vydala svůj nástroj pro monitorování a řízení odchozích síťových připojení Little Snitch i pro operační systém Linux. Linuxová verze se skládá ze tří komponent: eBPF program pro zachytávání provozu a webové rozhraní jsou uvolněny pod GNU GPLv2 a dostupné na GitHubu (převážně Rust a JavaScript), jádro backendu je proprietární pod vlastní licencí, nicméně zdarma k použití a redistribuci (cena přitom normálně … více »

    » FIDESZ🧡! « | Komentářů: 0
    8.4. 18:44 | IT novinky

    Vojenské zpravodajství (VZ) se v březnu zapojilo do mezinárodní operace proti aktivitám hackerské skupiny APT28, která je spojovaná s ruskou vojenskou zpravodajskou službou GRU a která přes slabě zabezpečené routery prováděla kybernetické útoky na státní a další organizace v ČR i zahraničí. Operaci vedl americký Federální úřad pro vyšetřování (FBI) a jejím cílem bylo odebrat útočníkům přístup k napadeným zařízením a ty následně … více »

    Ladislav Hagara | Komentářů: 29
    8.4. 16:44 | IT novinky

    Tvůrcem nejpopulárnější kryptoměny bitcoin, který se skrývá za pseudonymem Satoši Nakamoto (Satoshi Nakamoto), je britský kryptograf Adam Back. Na základě vlastní investigativní práce to tvrdí americký deník The New York Times (NYT). Několik indicií podle autorů jasně ukazuje na to, že Back a Nakamoto jsou stejný člověk. Jde mimo jiné o podobný odborný a osobnostní profil či totožné chyby a manýry v psaném projevu.

    Ladislav Hagara | Komentářů: 13
    8.4. 14:44 | Nová verze

    Google Chrome 147 byl prohlášen za stabilní. Nejnovější stabilní verze 147.0.7727.55 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Vylepšeny byly také nástroje pro vývojáře. Přehled novinek v Chrome DevTools 145 až 147 také na YouTube.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (14%)
     (8%)
     (1%)
     (12%)
     (30%)
     (3%)
     (6%)
     (2%)
     (14%)
     (24%)
    Celkem 1255 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník

    Dotaz: python - defaultni hodnoty parametru u konstruktoru

    8.3.2009 10:04 Petr
    python - defaultni hodnoty parametru u konstruktoru
    Přečteno: 301×

    Ahoj,

    Mam problem s pythonem, vytvoril jsem si par trid a napsal program, ktery ve vysledku funguje nejak divne. Nakonec jsem zjistil, ze kdyz vytvarim instanci nejake tridy, ktera ma v konstruktoru defaultni hodnotu, tak pri vytvoreni druhe instance stejne tridy se mi do defaultniho parametru vnuti hodnota z predchozi instance. Nevite jak to resit, aby to nedelal ? (docla mne s tim otravuje programovani)

    Priklad:

    <pre>

    >>> class A:
    ...     def __init__(self, seznam = []):
    ...             self.seznam = seznam
    ...             print seznam
    ...             print self.seznam
    ...     def append(self, item):
    ...             self.seznam.append(item)
    ...
    >>> a = A()
    []
    []
    >>> a.append('ahoj')
    >>> b = A()
    ['ahoj']              # Tady by se podle mne melo zobrazit: []
    ['ahoj']              # Tady taktez, jako pri vytvareni instance "a", ale vnuti se tam neco ineho :o(
    >>>
    </pre>

     

    Dik za kazdy tip

    Odpovědi

    8.3.2009 11:02 razor | skóre: 33
    Rozbalit Rozbalit vše Re: python - defaultni hodnoty parametru u konstruktoru

    No to je v případě, že deaultní hodnota není imutable. Stím jsem si taky užil své :) 

     

    ... Default parameter values are evaluated when the function definition is executed. This means that the expression is evaluated once, when the function is defined, and that that same “pre-computed” value is used for each call. This is especially important to understand when a default parameter is a mutable object, such as a list or a dictionary: if the function modifies the object (e.g. by appending an item to a list), the default value is in effect modified. This is generally not what was intended. A way around this is to use None as the default, and explicitly test for it in the body of the function, e.g.: 

    def whats_on_the_telly(penguin=None):
        if penguin is None:
            penguin = []
        penguin.append("property of the zoo")
        return penguin
    
    
    8.3.2009 12:05 Petr
    Rozbalit Rozbalit vše Re: python - defaultni hodnoty parametru u konstruktoru

    Diky za vysvetleni.

    Zkousel jsem i defaultni parametr s None, ale taky mi to nechtelo fungovat...

    Az pri precteni tohoto vytahu z clanku mi doslo, ze pouzivam tridy vznikle dedenim ze zakladni - pricemz v zakladni (rodicovske) jsem to opravil ale v potomcich jsem nechal puvodni zapis.

    8.3.2009 11:15 mich | skóre: 16
    Rozbalit Rozbalit vše Re: python - defaultni hodnoty parametru u konstruktoru
    To je správné chování. Ale můžete místo
    self.seznam = seznam
    
    dát
    self.seznam = seznam[:]
    
    když seznam zkopírujete, bude mít každá instance svůj - samozřejmě pokud chcete jen nastavit prázdný seznam, bude lepší to udělat v těle té metody a nepoužívat k tomu defaultní hodnotu.
    je to teď v módě, na žive o tom furt píšou
    8.3.2009 12:08 Petr
    Rozbalit Rozbalit vše Re: python - defaultni hodnoty parametru u konstruktoru

    Diky za tip

    Duvod proc tam mam defaultni hodnotu parametru, je kvuli komplexnosti pouziti - aby slo data v urcitych pripadech (ve kterych je to vyhodnejsi) vkladat pri vytvareni instance...

    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.