Klassen Instanzen immer global?

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.
Antworten
XT@ngel
User
Beiträge: 255
Registriert: Dienstag 6. August 2002, 14:36
Kontaktdaten:

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
Milan
User
Beiträge: 1078
Registriert: Mittwoch 16. Oktober 2002, 20:52

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.
Antworten