Article View: pl.comp.lang.python
Article #28339Re: Prośba o wytknięcie błędów
From: Stachu 'Dozzie' K.
Date: Fri, 18 Nov 2011 14:43
Date: Fri, 18 Nov 2011 14:43
31 lines
2467 bytes
2467 bytes
On 2011-11-18, hubert depesz lubaczewski <depesz@depesz.com> wrote:
> On 2011-11-18, Stachu 'Dozzie' K. <dozzie@go.eat.some.screws.spammer.invalid> wrote:
>> Jesteś przyzwyczajony z innych języków, że definicja funkcji to jest
>
> ciekawe jakich :)
Choćby Perl. Wprawdzie tam nie ma czegoś takiego jak wartość domyślna
dla parametru, ale przynajmniej funkcje są tworzone podczas kompilacji.
>> sprawa czasu kompilacji. W Pythonie to nieprawda: funkcja jest
>> tworzona dopiero podczas pracy programu. W związku z tym powyższa
>> funkcja najpierw tworzy obiekt typu lista (który jest pusty), a potem
>> przywiązuje go jako argument domyślny do właśnie utworzonej funkcji.
>> Kolejne uruchomienia funkcji dostają ten sam obiekt (listę) jako wartość
>> domyślną, więc jeśli zmienisz obiekt, zmiana zostanie zachowana do
>> następnego uruchomienia.
>
> ok. a jak uzyskać efekt domyślnej pustej listy/dicta?
Zgadnij :)
#v+
def foo(arg = None):
if arg is None:
arg = []
# ...
#v-
--
Secunia non olet.
Stanislaw Klekot
Technical Details
Message-ID:
<slrnjccrgd.7mn.dozzie@jarowit.net>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!feeder.erje.net!weretis.net!feeder1.news.weretis.net!news.solani.org!.POSTED!not-for-mailReferences:
<2h09p8-kgk.ln1@depesz.com> <slrnjc4841.8or.milusi.pysiaczek@buziaczek.pl> <1j8ap8-uiv.ln1@depesz.com> <slrnjcc2q2.ckt.milusi.pysiaczek@buziaczek.pl> <2rvhp8-0ch.ln1@depesz.com> <slrnjcckna.7mn.dozzie@jarowit.net> <jd6ip8-i2b.ln1@depesz.com>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!feeder.erje.net!weretis.net!feeder1.news.weretis.net!news.solani.org!.POSTED!not-for-mail From: "Stachu 'Dozzie' K." <dozzie@go.eat.some.screws.spammer.invalid> Newsgroups: pl.comp.lang.python Subject: Re: Prośba o wytknięcie błędów Date: Fri, 18 Nov 2011 14:43:28 +0000 (UTC) Organization: solani.org Lines: 31 Message-ID: <slrnjccrgd.7mn.dozzie@jarowit.net> References: <2h09p8-kgk.ln1@depesz.com> <slrnjc4841.8or.milusi.pysiaczek@buziaczek.pl> <1j8ap8-uiv.ln1@depesz.com> <slrnjcc2q2.ckt.milusi.pysiaczek@buziaczek.pl> <2rvhp8-0ch.ln1@depesz.com> <slrnjcckna.7mn.dozzie@jarowit.net> <jd6ip8-i2b.ln1@depesz.com> Mime-Version: 1.0 X-Trace: solani.org 1321627408 4593 eJwVwoENACEIA8CVRKDAOH6F/UcwnztXCBgGh/n8EpfkkjRTQVXYRfsJb+V8KzZgbM3ZZwoPFX0Q6w== (18 Nov 2011 14:43:28 GMT) X-Complaints-To: abuse@news.solani.org NNTP-Posting-Date: Fri, 18 Nov 2011 14:43:28 +0000 (UTC) User-Agent: slrn/pre0.9.9-111 (Linux) X-User-ID: eJwFwQkBwDAIA0BLyyCUyuH1L6F3FIPVUaMpl5sJj2a1+ix0E1xIN68Wvg65p+L84xk5FfUANvgScg== Cancel-Lock: sha1:BCEiQtWV+d5ZWm1/lYSAjV5BMv4= X-NNTP-Posting-Host: eJwFwQkBgAAIA8BK8g2JMwT6R/AuDIIvHQGPizN17gKKQc4zL1GnEAqM29W8YNl0ThRbfx7lEZI= Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit