Instanzierung und Constanten

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Mad-Marty
User
Beiträge: 317
Registriert: Mittwoch 18. Januar 2006, 19:46

Instanzierung und Constanten

Beitragvon Mad-Marty » Donnerstag 23. Februar 2006, 22:02

Hi,

was macht python wenn es eine klasse foo instanziert die wie folgt aussieht:

Rechnet es die operationen jedesmal durch beim instanzieren oder ist es so schlau und hinterlegt die werte fertig ausgerechnet ?


Code: Alles auswählen

class foo(object):
   a = 0x03
   b = 0x04
   c = 0x05
   d = a | b
   e = a | d

   def blah (self):
      pass
[/b]
BlackJack

Beitragvon BlackJack » Donnerstag 23. Februar 2006, 23:30

In Python ist so ziemlich alles eine ausführbare Anweisung. ``global`` ist so ziemlich die einzige Deklaration.

Die ``class``-Anweisung auf Modulebene wird, wie alles andere auf Modulebene, ausgeführt wenn das Modul das erste mal importiert wird.

Wann etwas ausgeführt wird, bekommt man sehr einfach mit ``print`` Anweisungen heraus. Setz einfach mal eine vor, nach oder zwischen die Zuweisungen der Klassenattibute.
Mad-Marty
User
Beiträge: 317
Registriert: Mittwoch 18. Januar 2006, 19:46

Beitragvon Mad-Marty » Freitag 24. Februar 2006, 00:01

Code: Alles auswählen

>>> class foo(object):
...    a = 0x03
...    b = 0x04
...    print a | b
...    
7
>>> o = foo()
>>> o2 = foo ()
>>>



Danke Blackjack. Schlussfolgerung, das wird einmal beim import ausgerechnet.

Wer ist online?

Mitglieder in diesem Forum: kl.as, Sirius3, WhiteyW