Article View: pl.comp.lang.python
Article #27977Re: Konstruktor funkcji
From: Rob Wolfe
Date: Tue, 05 Apr 2011 19:12
Date: Tue, 05 Apr 2011 19:12
38 lines
2008 bytes
2008 bytes
szatkus <szatkus@gmail.com> writes:
> On Sat, 26 Mar 2011 10:32:54 +0100
> szatkus <szatkus@gmail.com> wrote:
>
>>
>> Czy w pythonie da się tworzyć funkcje w locie tak jak w JavaScript?
>> Np. zmienna = function(arg) {cośtam, cośtam;}
>> --
>> szatkus <szatkus@gmail.com>
>
> To może pokażę, co chcę osiągnąć, może ktoś mi poleci lepsze rozwiązanie.
>
> Otóż mam:
>
> def male_mod(self, mod):
> mod.tbonus *= 1.2
> male.mod = male_mod
>
> A chciałbym to nieco skrócić o tą ostatnią linijkę, czyli powołując się na przyzwyczajenia z JS chciałbym, żeby działało coś w stylu:
>
> male.mod = def(self, mod):
> mod.tbonus *= 1.2
Jak już zostało powiedziane jedyną formą funkcji anonimowej w Pythonie
jest lambda, która pozwala na użycie tylko jednego wyrażenia:
>>> f = lambda x: x * 1.2
>>> f(2)
2.4
Powiedzmy, że ta drobna niedogodność Pythona została złożona na ołtarzu
bezmiaru korzyści jakie wynikają ze znaczących wcięć. ;)
Co do przyzwyczajeń, to w żaden sposób nie mogę się przystosować
do obiektowości w JS. ;)
RW
Technical Details
Message-ID:
<878vvoo6lx.fsf@smsnet.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!nf1.ipartners.pl!ipartners.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!feeder.erje.net!feeder.news-service.com!94.75.214.39.MISMATCH!aioe.org!.POSTED!not-for-mailReferences:
<20110326103254.cdd3b35e.szatkus@gmail.com> <20110405184945.798c208c.szatkus@gmail.com>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!nf1.ipartners.pl!ipartners.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!feeder.erje.net!feeder.news-service.com!94.75.214.39.MISMATCH!aioe.org!.POSTED!not-for-mail From: Rob Wolfe <rw@smsnet.pl> Newsgroups: pl.comp.lang.python Subject: Re: Konstruktor funkcji Date: Tue, 05 Apr 2011 21:12:10 +0200 Organization: Aioe.org NNTP Server Lines: 38 Message-ID: <878vvoo6lx.fsf@smsnet.pl> References: <20110326103254.cdd3b35e.szatkus@gmail.com> <20110405184945.798c208c.szatkus@gmail.com> NNTP-Posting-Host: 2rGoQNolRk9jw3eVwM369A.user.speranza.aioe.org Mime-Version: 1.0 X-Complaints-To: abuse@aioe.org User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1 (gnu/linux) X-Notice: Filtered by postfilter v. 0.8.2 Cancel-Lock: sha1:/GJ3t5YISn9p3u8RxOA15+5SfA0= Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit