🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Re: dyskryptory

#26983
From: Daniel Mróz
Date: Fri, 27 Nov 2009 22:40
42 lines
2266 bytes
On 27.11.2009, ak3031884 <ak3031884@gmail.com> wrote:
> zabieram się za temat dyskryptorów po raz ......no dużo tego było ale
dys.... co?

> class myClass(object):
>     def __init__(self, self, a, b):
>         self.a = a
>         self.b = b
>
>     def __get__(self, obj, objtype):
>         return self.a
>
>     def __set__(self, obj, val):
>         self.a = a
>
> 2 klasa nie wiem czy dobrze napisana bo nie rozumiem tego ale to koło
> tego ma wyglądać.
> Tak czy inaczej więcej pisania, zagmatwane, moim skromnym zdaniem nie
> bardzo czytelne,
> wytłumaczcie mi co w tym takiego dobrego iż jest to wprowadzane do
> każdego języka programowania.
Nikt Ci nie każe używać __get__/__set__, możesz przypisywać/pobierać
wartości bez nich. Jeśli chcesz jednak np. dodać sprawdzanie typu (z rzucaniem
stosownego wyjątku), te metody pozwalają Ci na zrobienie tego niejawnie.
W ten sposób klasa sama się zatroszczy o siebie, a Ty nie będziesz musiał
używać javowych potworków typu:

	obj.setA(value)

Oczywiście można je wykorzystać także do innych zabaw. Co Ci tylko
przyjdzie na myśl. Masz mechanizm, który *możesz* wykorzystać, ale
*nie musisz*.


Pozdrawiam
Beorn

-- 
Daniel 'Beorn' Mróz <beorn@alpha.pl>    http://127.0.0.1/beorn
[GIT d s:- a-@ C++++ UL++++$ P+ L++++ E--- W+ N+++ o? K- w---]
[O- M- V!  PS+ PE++ Y+ PGP++ t- 5  X R !tv b+ DI D++ G++ e h*]
[                          r++  y+                           ]
Technical Details
Message-ID: <slrnhh0li5.ljo.beorn@pino.cyberdeck.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!newsfeed.atman.pl!not-for-mail

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!newsfeed.atman.pl!not-for-mail
From: Daniel Mróz <beorn@alpha.pl>
Newsgroups: pl.comp.lang.python
Subject: Re: dyskryptory
Date: Fri, 27 Nov 2009 22:40:11 +0000 (UTC)
Organization: A tak se walimy młotkami d:-/
Lines: 42
Message-ID: <slrnhh0li5.ljo.beorn@pino.cyberdeck.pl>
NNTP-Posting-Host: fw2.itvp.pl
Mime-Version: 1.0
X-Trace: node2.news.atman.pl 1259361611 13985 217.17.39.4 (27 Nov 2009 22:40:11 GMT)
X-Complaints-To: usenet@atman.pl
NNTP-Posting-Date: Fri, 27 Nov 2009 22:40:11 +0000 (UTC)
User-Agent: slrn/0.9.8.1pl2.1 (Linux)
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit