blubber hat geschrieben:Kann mir bitte jemand eine Lösung mit globaler Variable zeigen?
Hallo blubber!
Die "böse Seite der Macht" -- verführerisch sie ist. Sie dich verführt mit schnellen Ergebnissen.
global_objects.py:
Code: Alles auswählen
#!/usr/bin/env python
# -*- coding: iso-8859-15 -*-
ein_text = "Ich bin der Text in einer Konstante."
def change_text():
global ein_text
ein_text = "Servus"
def show_text():
print ein_text
hallo.py:
Code: Alles auswählen
#!/usr/bin/env python
# -*- coding: iso-8859-15 -*-
import global_objects as go
print go.ein_text
go.change_text()
print go.ein_text
go.ein_text = "AAAAAAAAAA"
print go.ein_text
go.show_text()
Setze es sehr vorsichtig ein. ``global`` hat viele Nachteile und kann der Grund sein, warum du dein Programm nicht richtig testen kannst oder es aus einem (lange) nicht erkennbaren Grund nicht so funktioniert, wie du glaubst.
Wenn du ``global`` aber nur in einem eingegrenzten, kleinen Raum einsetzt, dann kann es nicht so viel Schaden anrichten. Achte aber darauf, dass das Modul in dem du ``global`` einsetzt nicht zu sehr wächst. Je größer es wird, desto undurchschaubarer wird die "Böse Seite der Macht".
mfg
Gerold
PS: Mensch, bin ich heute wieder witzig.