Ich möchte eine Funktion func1 aus einer Klasse class1 in einer anderen Klasse class2 aufrufen. Wie mach ich dies, bzw. was für ein Import o.Ä. ist notwendig?
Außerdem würde ich diese Funktion func1 gerna als Attribut einer Funktion func2 der Klasse 2 aufrufen lassen.
vielen Dank für die Hilfe im vorraus!
Funktion einer Klasse in einer anderen Klasse anwenden
Code: Alles auswählen
class A:
def method(self):
print("method in A")
class B:
def __init__(self, an_a):
self._a = an_a
def test(self):
self._a.method()
def main():
a = A()
b = B(a)
b.test()
if __name__ == "__main__":
main()
@Nmles: Als Hinweis, weil es ein bisschen danach klingt: Klassen sind keine Container für Funktionen. Sie repräsentieren Objekte. Als Regel gilt in etwa: Wenn eine Methode keinen Bezug zu seinem Objekt hat (gut daran zu erkennen, dass "self" nicht oder nicht sinnvoll verwendet wird) dann ist sie besser eine Funktion außerhalb einer Klasse.
Danke! Und wie mach ich dass, wenn die zwei Klassen eigene Datein sind ?__deets__ hat geschrieben: Dienstag 10. Januar 2023, 12:01Code: Alles auswählen
class A: def method(self): print("method in A") class B: def __init__(self, an_a): self._a = an_a def test(self): self._a.method() def main(): a = A() b = B(a) b.test() if __name__ == "__main__": main()