🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Re: Metaklasy w Pythonie

#27129
From: zbrodel
Date: Mon, 04 Jan 2010 12:48
26 lines
2138 bytes
pr wrote:
> W cały problem nie będę wchodził bo jest dość skomplikowany (min.
> wykorzystywany zew. aplikacja, która na wejściu przyjmuje klasę
> określonego typu z określonymi atrybutami etc..), natmoast wartości
> atrybutów tejże klasy są wynikiem dość kosztownych obliczeń. Dlatego
> jeśli bedę miał 100 klas, a wykorzystam tylko 10 (może tak się
> zdarzyć) to 90 razy wykonam zbędne obliczenia. Natmoast wołanie na
> każdej instacji np. funkcji obliczającej mi te parametry na żądanie,
> typu: obj.clc_param() nie wchodzi w grę.. Korzystanie z klasy ma się
> ograniczyć do B.myattr i B().myattr (korzysta z tego automat nie
> programista).

Jeśli tylko o to chodzi to może podejść do problemu od innej strony i 
użyć mechanizmu properties?

Wtedy de facto wywoływana jest metoda, która może zrobić czasochłonne 
obliczenia, ale z punktu widzenia "klienta" tej klasy wygląda to jak 
dostęp do atrybutu.

Metoda wykona się dopiero w momencie odwołania do atrybutu więc 
"nieużywane" obiekty obliczeń nie wykonają.

Nnie wiem czy to jest to o co Ci chodzi bo Twój opis jest dosyć 
enigmatyczny ;).

Pzdr J.
Technical Details
Message-ID: <hhso2m$gn0$1@news.onet.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.onet.pl!not-for-mail
References: <acd8187e-60ea-4eda-9eb6-52f5d3754d2b@a21g2000yqc.googlegroups.com> <79eee268-9a76-4950-a13b-d0ce21d5879f@35g2000yqa.googlegroups.com> <8abb33d1-4a4a-408c-9791-a6b003cccaef@p8g2000yqb.googlegroups.com>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.onet.pl!not-for-mail
From: zbrodel@tlen.pl
Newsgroups: pl.comp.lang.python
Subject: Re: Metaklasy w Pythonie
Date: Mon, 04 Jan 2010 13:48:06 +0100
Organization: http://onet.pl
Lines: 26
Message-ID: <hhso2m$gn0$1@news.onet.pl>
References: <acd8187e-60ea-4eda-9eb6-52f5d3754d2b@a21g2000yqc.googlegroups.com>  <79eee268-9a76-4950-a13b-d0ce21d5879f@35g2000yqa.googlegroups.com> <8abb33d1-4a4a-408c-9791-a6b003cccaef@p8g2000yqb.googlegroups.com>
NNTP-Posting-Host: 77-252-116-188.ip.netia.com.pl
Mime-Version: 1.0
X-Trace: news.onet.pl 1262609302 17120 77.252.116.188 (4 Jan 2010 12:48:22 GMT)
X-Complaints-To: niusy@onet.pl
NNTP-Posting-Date: Mon, 4 Jan 2010 12:48:22 +0000 (UTC)
User-Agent: Thunderbird 2.0.0.23 (X11/20090817)
In-Reply-To: <8abb33d1-4a4a-408c-9791-a6b003cccaef@p8g2000yqb.googlegroups.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit