Ich arbeite an einem Projekt, das sich mit Datenanalyse befasst. Um den Prozess des Findens und Änderns von Funktionen zu vereinfachen, habe ich mich entschieden, Funktionen mit ähnlichen Zwecken in verschiedenen py-Dateien zu speichern. Das Problem tritt auf, wenn Funktionen in einer Py-Datei Funktionen erfordern, die von einer anderen funktionieren. Ich denke, ich kann das Problem lösen, indem ich mit einer Klasse arbeite. Um die Lösung zu demonstrieren ich umzusetzen versuche, ich habe drei Dateien:Python definieren Klassenfunktionen in separaten py-Datei
a.py
def a1(self):
self.var=3
def a2(self):
self.b1(4)
b.py
def b1(self, x):
self.var=x
def b2(self):
self.a1()
testClass.py
class test(object):
def __init__(self):
self.var=0
from b import *
from a import *
a=test()
print a.var
a.a1()
print a.var
a.a2()
print a.var
a.b2()
print a.var
Diese tut, was ich will, aber Python ist unglücklich mit mir für den Import dieser 2 Py-Dateien auf diese Weise. In C++ konnte ich nur meine Funktionen prototypieren, die Deklaration weiterleiten und dann ihre Definitionen in eine andere Datei schreiben und keine Probleme haben. Was ist der richtige Weg, um Funktionen für eine Klasse in einer Py-Datei zu definieren, in der sich die Klassendefinition nicht befindet?
Was meinst du, "mit mir unglücklich ist"? Erhalten Sie einen Fehler oder eine Warnung? – cxw
Die Terminalantwort, die ich für beide Importe erhalte, lautet: "SyntaxWarning: Import * nur auf Modulebene erlaubt" – BobJoe1803
Geben Sie den Artikeln, die Sie importieren möchten, einen eindeutigen Namen. 'von einem Import a1, a2' – kindall