🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Re: Interpretowany czy kompilowany?

#28076
From: jacek2v
Date: Thu, 26 May 2011 19:00
45 lines
3385 bytes
On 25 Maj, 22:13, Wojciech Malinowski <vir...@wp.pl> wrote:
> To nie żaden błąd tylko naturalna konsekwencja tego, że wszystko jest
> obiektem. Funkcja też. Jest singletonem, instancją klasy function.
> Domyślne parametry są jej atrybutami.
>
> Interpreter nie może w żaden sposób zgadnąć czy te atrybuty są mutowalne
> czy nie. Nawet gdyby mógł to pozostała by kwestia, czy przy każdym
> odpaleniu zrobić płytkie czy głębokie kopiowanie (i też pojawiłyby się
> pewnie skutki uboczne).
>
> Przyjęte rozwiązanie jest najprostsze i najłatwiejsze do zrozumienia.
> Trzeba tylko pamiętać, że funkcje, klasy (w tym przypadku można nawet
> pomajstrować z typem tego obiektu za pomocą metaklas), docstringi itp są
> singletonowymi obiektami. Dowód poniżej:
>
> >>> def foo(bar=[], baz='test'):
>
> ...     print bar, baz
>
> >>> type(foo)
>
> <type 'function'>
>
> >>> foo
>
> <function foo at 0x7f377e5e1758>
>
> >>> foo.func_defaults
>
> ([], 'test')
>
> >>> foo.func_code
>
> <code object foo at 0x7f377e5dfa80, file "<stdin>", line 1>
>
> >>> foo.__call__
>
> <method-wrapper '__call__' of function object at 0x7f377e5e1758>
>
> >>> foo.__call__()
>
> [] test

Dzięki za wyjaśnienie. Muszę przyznać, że jak to wielokrotnie bywało
logika Pythona jest niezaprzeczalna, powalająca i miła memu sercu :)
Technical Details
Message-ID: <4f2c76ae-c4f5-4cac-99c8-138ec0019139@y12g2000yqh.googlegroups.com>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.supermedia.pl!news.nask.pl!news.nask.org.pl!goblin1!goblin.stu.neva.ru!postnews.google.com!y12g2000yqh.googlegroups.com!not-for-mail
References: <iqmlha$r29$1@news.onet.pl> <iqtsq9$j2e$4@solani.org> <4d8313d9-cc85-4065-b94d-c7433e6d51de@p6g2000vbn.googlegroups.com> <iqugpk$vbu$3@solani.org> <64a9b1f5-e71a-4b1e-b54b-029a032d6a17@x1g2000yqb.googlegroups.com> <ir58gg$me$1@speranza.aioe.org> <2f93f4ca-ccb1-42a5-b199-2d9902ee8629@l18g2000yql.googlegroups.com> <ir90vs$nd8$1@speranza.aioe.org> <b807128c-8325-4ef6-93a9-c41ba1609583@h7g2000yqa.googlegroups.com> <irbh66$4fa$1@news.onet.pl> <c4a63f8f-afbc-4dab-ab9e-4c241433ab38@28g2000yqu.googlegroups.com> <irg9ua$pb6$1@news.onet.pl> <3ede9f91-b3da-4845-94e3-697e9301d530@d1g2000yqm.googlegroups.com> <20110525202013.b67a5b5a.gryf_esm-no@spam-o2.pl> <31a73c32-7483-4f0b-b2fa-386103875cf4@x6g2000yqj.googlegroups.com> <c72bf0b2-afa1-4e1b-80aa-7198e59e2e45@b42g2000yqi.googlegroups.com> <irjnsg$g0e$1@inews.gazeta.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.supermedia.pl!news.nask.pl!news.nask.org.pl!goblin1!goblin.stu.neva.ru!postnews.google.com!y12g2000yqh.googlegroups.com!not-for-mail
From: jacek2v <jacek2v@gmail.com>
Newsgroups: pl.comp.lang.python
Subject: Re: Interpretowany czy kompilowany?
Date: Thu, 26 May 2011 12:00:14 -0700 (PDT)
Organization: http://groups.google.com
Lines: 53
Message-ID: <4f2c76ae-c4f5-4cac-99c8-138ec0019139@y12g2000yqh.googlegroups.com>
References: <iqmlha$r29$1@news.onet.pl> <iqtsq9$j2e$4@solani.org> <4d8313d9-cc85-4065-b94d-c7433e6d51de@p6g2000vbn.googlegroups.com> <iqugpk$vbu$3@solani.org> <64a9b1f5-e71a-4b1e-b54b-029a032d6a17@x1g2000yqb.googlegroups.com> <ir58gg$me$1@speranza.aioe.org> <2f93f4ca-ccb1-42a5-b199-2d9902ee8629@l18g2000yql.googlegroups.com> <ir90vs$nd8$1@speranza.aioe.org> <b807128c-8325-4ef6-93a9-c41ba1609583@h7g2000yqa.googlegroups.com> <irbh66$4fa$1@news.onet.pl> <c4a63f8f-afbc-4dab-ab9e-4c241433ab38@28g2000yqu.googlegroups.com> <irg9ua$pb6$1@news.onet.pl> <3ede9f91-b3da-4845-94e3-697e9301d530@d1g2000yqm.googlegroups.com> <20110525202013.b67a5b5a.gryf_esm-no@spam-o2.pl> <31a73c32-7483-4f0b-b2fa-386103875cf4@x6g2000yqj.googlegroups.com> <c72bf0b2-afa1-4e1b-80aa-7198e59e2e45@b42g2000yqi.googlegroups.com> <irjnsg$g0e$1@inews.gazeta.pl>
NNTP-Posting-Host: 77.253.92.36
Mime-Version: 1.0
X-Trace: posting.google.com 1306436414 24773 127.0.0.1 (26 May 2011 19:00:14 GMT)
X-Complaints-To: groups-abuse@google.com
NNTP-Posting-Date: Thu, 26 May 2011 19:00:14 +0000 (UTC)
Complaints-To: groups-abuse@google.com
Injection-Info: y12g2000yqh.googlegroups.com; posting-host=77.253.92.36; posting-account=eZNabgoAAAATP5GyCUr-uXZ_s7vjxVeX
User-Agent: G2/1.0
X-Google-Web-Client: true
X-Google-Header-Order: HNKRUAELSC
X-HTTP-UserAgent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.71 Safari/534.24,gzip(gfe)
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit