🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Re: class A: print A

#27225
From: tikan
Date: Tue, 19 Jan 2010 10:55
41 lines
2368 bytes
On 18 Sty, 22:43, Łukasz Rekucki <lreku...@gmail.com> wrote:
> On Jan 18, 8:24 pm, tikan <tik...@gmail.com> wrote:
>
> > Witam
>
> > class A:
> >     print A
>
> > Traceback (most recent call last):
> >   File "<stdin>", line 1, in <module>
> >   File "<stdin>", line 2, in A
> > NameError: name 'A' is not defined
>
> > Jak wyjaśnić takie zachowanie interpretera?
>
> Tym, że w trakcie wykonywania ciała klasy A, jeszcze jej nie ma. Więc
> skoro w aktualnym bloku nie ma nazwy "A" i w aktualnym module też nie
> ma nazwy "A", to znaczy, że jej nie ma. Co się spodziewałeś uzyskać ?
>
>
>
>
>
> > Pozdrawiam
> > Krzysztof Chmiel

Spodziewałem się, że nazwa klasy jest wpisywana do słownika modułu w
linijce class A:
Problem wziął się stąd, że chciałem utworzyć dekorator do metody klasy
przyjmujący obiekt klasy jako argument
class A:
    @my_decorator(A)
    def f(self):
        pass
Ale jak widać nie działa to tak. Może i słusznie, bo w momencie
wywoływania dekoratora nie byłyby znane wszystkie atrybuty klasy i
działanie kodu
byłoby zależne od kolejności definicji funkcji w klasie.

Pozdrawiam
Krzystof Chmiel
Technical Details
Message-ID: <ac53f534-6955-4df7-a405-ae545c0fb8c6@h2g2000yqj.googlegroups.com>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!news.glorb.com!postnews.google.com!h2g2000yqj.googlegroups.com!not-for-mail
References: <2c102a9d-5722-4565-8562-346d08ec395d@34g2000yqp.googlegroups.com> <eb25832e-a736-4163-b0ef-de2fafe611b5@k17g2000yqh.googlegroups.com>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!news.glorb.com!postnews.google.com!h2g2000yqj.googlegroups.com!not-for-mail
From: tikan <tikan2@gmail.com>
Newsgroups: pl.comp.lang.python
Subject: Re: class A: print A
Date: Tue, 19 Jan 2010 02:55:57 -0800 (PST)
Organization: http://groups.google.com
Lines: 45
Message-ID: <ac53f534-6955-4df7-a405-ae545c0fb8c6@h2g2000yqj.googlegroups.com>
References: <2c102a9d-5722-4565-8562-346d08ec395d@34g2000yqp.googlegroups.com>  <eb25832e-a736-4163-b0ef-de2fafe611b5@k17g2000yqh.googlegroups.com>
NNTP-Posting-Host: 213.180.137.172
Mime-Version: 1.0
X-Trace: posting.google.com 1263898557 13291 127.0.0.1 (19 Jan 2010 10:55:57 GMT)
X-Complaints-To: groups-abuse@google.com
NNTP-Posting-Date: Tue, 19 Jan 2010 10:55:57 +0000 (UTC)
Complaints-To: groups-abuse@google.com
Injection-Info: h2g2000yqj.googlegroups.com; posting-host=213.180.137.172;  posting-account=SQnbsAoAAAAwrHvztykwXpM70ECXxG0y
User-Agent: G2/1.0
X-HTTP-UserAgent: Opera/9.80 (Windows NT 5.1; U; pl) Presto/2.2.15  Version/10.10,gzip(gfe),gzip(gfe)
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit