Article View: pl.comp.lang.python
Article #28076Re: Interpretowany czy kompilowany?
From: jacek2v
Date: Thu, 26 May 2011 19:00
Date: Thu, 26 May 2011 19:00
45 lines
3385 bytes
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-mailReferences:
<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