🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.python
Article #27977

Re: Konstruktor funkcji

#27977
From: Rob Wolfe
Date: Tue, 05 Apr 2011 19:12
38 lines
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-mail
References: <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