[Python-de] property-Funktion mal nicht in Klassen verwenden

Andreas Jung lists at andreas-jung.com
Di Apr 8 12:42:33 UTC 2008



--On 8. April 2008 14:00:38 +0200 Stephan Diehl <stephan.diehl at gmx.net> 
wrote:

> Ich bin's nochmal. Ich nehme meine Aussage von vorhin zurueck. Was du
> willst  macht schon Sinn. Man kann ein bisschen tricksen und z.B.
> folgendes machen:
> ----------------------------------------------------------
> import sys
>
> class MyModule(object):
>
>     @property
>     def fourtytwo(self):
>         return 42
>
> sys.modules['MyModule'] = MyModule()
>
> import MyModule
>
> print MyModule.fourtytwo
>
> from MyModule import fourtytwo
>
> print fourtytwo
> --------------------------------------------------------
>
> Allerdings muss man dann damit leben, dass man das modul als Klasse
> definiert  und irgendwie in die sys.modules reinschmuggelt. Also nicht
> sehr elegant.

Das hat einen relativ hohen Pfui-Faktor :-) (will heissen: das macht man 
nicht).

Andreas
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : nicht verfügbar
Dateityp    : application/pgp-signature
Dateigröße  : 194 bytes
Beschreibung: nicht verfügbar
URL         : http://python.net/pipermail/python-de/attachments/20080408/924f649a/attachment.pgp