hier 2 Fragen eines Programmier als auch Python Neulings. Ich möchte sie anhand eines einfachen (daher sinnfreien)
Beispiels beschreiben.
Ich habe 3 py.-Files.
main.py
Funktionen.py
Variablen.py
Code: Alles auswählen
#------main.py-----
import Variablen as var
import Funktionen as func
print "aus main.py",var.x
#print func.test
#------Funktionen.py-----
import variablen as var
print "aus Funktionen.py",var.x
#test="Hallo"
#------variablen.py-------
#import Funktionen as func
x=100
#print "aus Variablen.py",func.test
Starte ich nun main.py werden beide print Befehle ausgeführt.
Lösche ich jedoch den Import Befehl in Funktionen.py ist var.x (nameerror) nicht definiert.
Hier meine erste Frage:
Wieso brauche ich in Funktionen.py den 2ten "import variablen as var" befehl? Oder andersrum gefragt, wieso
reicht nicht ein import Befehl aus? Durch Aufrufen von "import Funktionen as func" im main.py rufe ich doch auch den
print befehl in Funktionen.py auf, also doch auch "import variablen as var" aus Funktionen.py, oder nicht?
Hier mein zweite Frage:
Ich entferne die Auskommentierung aus main.py und Funktionen.py. Und starte main.py.
Alle 3 print Ausgaben funktionieren.
Entferne ich jedoch die Auskommentierung in variablen.py kommt folgende Fehlermeldung:
AttributeError: 'module' object has no attribute 'test', wenn ich variablen.py starte.
AttributeError: 'module' object has no attribute 'x, wenn ich main.py starte.
Warum kann ich die Variable test nicht aus variablen.py "printen".
Für eure Erklärung schon mal vielen Dank!
Falls diese Problem schon mal behandelt worden ist, wäre ein Link auf den Beitrag toll. Habe nichts dazu gefunden,
weiss jedoch auch nicht genau nach was ich eigentlich suchen soll!
Gruss