Mohl by me prosim nekdo vysvetlit nasledujici:
def pridej_polozku(polozka, n_list=[]):
n_list.append(polozka)
return n_list
>>> print pridej_polozku('modra')
['modra']
>>> print pridej_polozku('zelena')
['modra','zelena']
Ja bych cekal, ze se pri kazdem volani funkce se vytvori defaultni prazdny list
a nerozumim proc si uchovava cleny z predchozich volani.
PS: Nechci reseni jak to osetrit, to znam. Jen vysvetleni proc to takhe funguje.
Diky
Fórum › Python
List v definici funkce
Zjistit počet nových příspěvků
Přidej příspěvek
Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
Uživatelé prohlížející si toto vlákno
Uživatelé on-line: 0 registrovaných, 37 hostů
Podobná vlákna
Problém s definicí tříd — založil yaqwsx
Rozdíl v definici typů #define a typedef — založil Boblig
Indexer na List<List<T>> — založil Damian
ArrayList list = new ArrayList(); list.Add("položka"); — založil Montezo
Volání funkce z jiné třídy ukazatelem typu obecné funkce — založil pretis
Moderátoři diskuze