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

Klassen Instanzen immer global?

Beitragvon XT@ngel » Montag 3. Februar 2003, 18:40

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

Beitragvon Milan » Montag 3. Februar 2003, 18:51

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.

Wer ist online?

Mitglieder in diesem Forum: Bing [Bot]