🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Re: Konstruktor funkcji

#27970
From: Adam Byrtek
Date: Sat, 26 Mar 2011 13:56
32 lines
1811 bytes
On 03/26/2011 11:30 AM, Wojciech Muła wrote:
>>> Czy w pythonie da się tworzyć funkcje w locie tak jak w JavaScript?
>>> Np. zmienna = function(arg) {cośtam, cośtam;}
>>
>> lambda? np:
>>
>> In [1]: foo = lambda arg1, arg2: arg1 * arg2
>>
>> In [2]: foo(5, 2)
>> Out[2]: 7
>
> Lambda pozwala uzywac tylko wyrazen. Ale mozna definiowac
> funkcje (i klasy) w dowolnym miejscu kodu.

Czyli innymi słowy zamiast wspomnianego

   zmienna = function(arg) {cośtam, cośtam;}

piszemy

   def zmienna(arg):
     cośtam, cośtam

co jest równoważne przypisaniu zmiennej 'zmienna' obiektu 
reprezentującego funkcję.

Niestety nie istnieje składnia dla "wieloliniowych lambd" (jak bloki w 
Ruby). Sam Guido przyznaje, że to spory problem, a żadne z 
zaproponowanych dotychczas rozwiązań nie jest dostatecznie czytelne.

Pozdrawiam,
Adam
Technical Details
Message-ID: <imkrag$jtu$1@inews.gazeta.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
References: <20110326103254.cdd3b35e.szatkus@gmail.com> <20110326105858.ebb84426.gryf_esm-no@spam-o2.pl> <slrniorg1g.ral.wojciech_mula@cat.tac>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
From: Adam Byrtek <adambyrtek@gmail.com>
Newsgroups: pl.comp.lang.python
Subject: Re: Konstruktor funkcji
Date: Sat, 26 Mar 2011 14:56:31 +0100
Organization: "Portal Gazeta.pl -> http://www.gazeta.pl"
Lines: 32
Message-ID: <imkrag$jtu$1@inews.gazeta.pl>
References: <20110326103254.cdd3b35e.szatkus@gmail.com> <20110326105858.ebb84426.gryf_esm-no@spam-o2.pl> <slrniorg1g.ral.wojciech_mula@cat.tac>
NNTP-Posting-Host: rs.ists.pl
Mime-Version: 1.0
X-Trace: inews.gazeta.pl 1301147792 20414 87.239.216.2 (26 Mar 2011 13:56:32 GMT)
X-Complaints-To: usenet@agora.pl
NNTP-Posting-Date: Sat, 26 Mar 2011 13:56:32 +0000 (UTC)
X-User: alpha123
In-Reply-To: <slrniorg1g.ral.wojciech_mula@cat.tac>
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.14) Gecko/20110223 Thunderbird/3.1.8
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit