Seite 1 von 1

Klassen Instanzen immer global?

Verfasst: Montag 3. Februar 2003, 18:40
von XT@ngel
Ich spiele mich wieder etwas mit Python, und da ist mir was aufgefallen:
Ich habe zwei Klassen:

Code: Alles auswählen

class child:
   def __init__(self):
      print main.eigenschaft


class Main:
   def __init__(self):
       self.eigenschaft = "bla"
   
   def child(self):
       thread.start_new_thread(child,("0",)) 

main = Main()
main.child
Wieso steht main.eigenschaft ohne irgend eine Übergabe einfach so in der child Klasse zu verfügung. Oder wird main als so eine Art "Modul" angesehen.
Irgendwie finde ich keinen Hinweis in meinen Büchern :-)

Mfg u Danke
Andreas

Verfasst: Montag 3. Februar 2003, 18:51
von Milan
solange kein Zugriff für das schreiben erfolgt, wird die benutzte Variable als global angesehen und ist somit auch verfügbar. Ist aber ne Gradwanderung, ob man das auch so im Code macht, weil da schnell irgendwelche Formfehler auftreten können. wenn was global sein soll, deklarier es besser in der Funktion/Methode extra mit global.