Python Module
-
Hallo,
also ich hab ein (verständnis)problem beim importieren von modulen:
also ich habe eine funktionen.py (testfunktionen)
a = 10 print a def make(a): a=20 print a make(a) print a def std(a,b,c=20,d=40,e="Hallo"): print a, b,c,d,e std(1,2) std(1,2,3,5,"Test") def std2(arg1,arg2,arg3="three",arg4="four",arg5="five"): print arg1, arg2, arg3, arg4, arg5 std2(1,2) std2(1,2,arg5=10) #direkt auf fünftes zugreifen def test(): print "test"
und eine module.py
import funktionen funktionen.test()
irgendwie werden aber jetzt alle funktionen aus funktionen.py ausgeführt!
ich dachte, er sollte hier nur die test machen?mach ich was falsch oder geht es nicht anders?
-
Beim Importieren wird Code, der nicht in Funktionen/Klassen steht ausgeführt.
Am besten du machst sowas wie:
def main(): pass #der ganze code, der sonst so rumsteht kommt hier rein if __name__ == "__main__": # wenn _dieses_ Modul das Hauptmodul ist .. main()
Damit wird main() nur ausgeführt, wenn du das Script von der Kommandozeile aufrufst.
Wenn du es importierst, werden nur die Funktionsdefinitionen übernommen.
-
hm...sorry, aber so richtig hab ich das nicht im bezug auf meine frage verstanden jetzt