Article View: pl.comp.lang.python
Article #26983Re: dyskryptory
From: Daniel Mróz
Date: Fri, 27 Nov 2009 22:40
Date: Fri, 27 Nov 2009 22:40
42 lines
2266 bytes
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-mailShow 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