hmm normalne s takovymi konstrukcemi pracuji; mam jednu metodu a vim ze:
jmeno()...vypise jmeno jmeno(value)...nastavi jmeno nevidim v tom velky problem. Stepan _____ From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Jan Bednařík Sent: Thursday, June 19, 2008 10:14 PM To: Konference PyCZ Subject: Re: [python] pspad kompilace Dne 19. červen 2008 10:56 BoneFlute <[EMAIL PROTECTED]> napsal(a): Jakub napsal(a): > def jmeno(self, nazev=None): > if nazev == None: > print self.nick > else: > self.nick=nazev Mimochodem, má někdo zkušenosti proč se používá takováto konstrukce nastavování proměnné? Přiznávám, že jsem si tím také prošel, ale posléze opustil. Jednak to subjektivně není moc přehledné, druhak je to silný nezvyk proti zaběhnutým coding standards - zvláště když má python docela propracovaný systém přetěžování přiřazování atributů a properties. Zajímalo by mě, zda to má nějaké praktické výhody. Je to prasečina a rozhodně bych se toho vyvaroval. Jednak pokud po vytvoření instance třídy zavoláš tu metodu bez parametru, nebo z jakéhokoliv důvodu (chyba na vstupu nebo bug jinde) jako název pošleš hodnotu None, tak se to bude snažit vypsat neexistující proměnou (self.nick) => AtributeError. A i kdyby self.nick už existoval, to zavolání s hodnotou None způsobí neočekávané chování (print, nebo jindy return), které může způsobit spoustu těžko dohledatelných bugů. Honza
_______________________________________________ Python mailing list Python@py.cz http://www.py.cz/mailman/listinfo/python