Was ist der Unterschied zwischen dem Erstellen von zwei Klassen, die andere vererben, und dem Übergeben erster Klasseninstanzen an andere Klassen-Initmethoden?Python-Diff zwischen dem Vererben einer Klasse und dem Übergeben einer Klasseninstanz an eine andere Klasse
unter Wie, Methode 1:
class ht(object):
def __init__(self):
pass
def ch(self):
self.filename="hellgmhjkl"
class tt():
def __init__(self,ob1,ob3):
self.ob1=ob1
self.ob3=ob3
self.b=5
def display(self):
print(ob1.filename)
print(self.ob3.d)
class kk():
def __init__(self):
self.c=3
def hel(self):
self.d=self.c+5
if __name__ == '__main__':
ob1=ht()
ob1.ch()
ob3=kk()
ob3.hel()
ob2=tt(ob1,ob3)
ob2.display()
Methode 2:
class ht(object):
def __init__(self):
pass
def ch(self):
self.filename="hellgmhjkl"
class tt(ht):
def __init__(self,ob1,ob3):
self.ob1=ob1
self.ob3=ob3
self.b=5
def display(self):
print(ob1.filename)
print(self.ob3.d)
class kk():
def __init__(self):
self.c=3
def hel(self):
self.d=self.c+5
if __name__ == '__main__':
ob1=ht()
ob1.ch()
ob3=kk()
ob3.hel()
ob2=tt(ob1,ob3)
ob2.display()
Was ist der Unterschied zwischen Methode 1 und 2? Meine Anforderung ist, ich habe mehrere Klassen: config.py, log.py, analyse.py, HTTPrequest.py, request.py, attack.py
Alle oben genannten Klassen benötigt die Klassenvariablen Werte aus config.py und log .py. Und analyse.py benötigt Werte von request.py und HTTPRequest, py und attack.y benötigt Werte von request.py.
Kann mir jemand helfen, wie multiple oder multilevel oder usecomposition zu vererben oder nur Klassenobjekte zu übergeben und wie?
wenn ich eine Datei mit einer Klassendefinition importieren Methodisch automatisch ausgeführt wird, bevor sich während des Importvorgangs aufgerufen wird. wie man eine Datei mit Klasse und Methoden importiert, ohne ausgeführt zu werden. Ich kann meine Klasse nicht einschließen wenn __name __ == "__ main__": da ich meinen Klassennamen nicht mit der eingeschlossenen Hauptmethode erben kann – user3264821
_ "Wenn ich eine Datei mit einer Klassendefinition importiere, wird ihre Methode automatisch ausgeführt, bevor sie während des Importprozesses aufgerufen wird um eine Datei mit Klasse und Methoden zu importieren, ohne ausgeführt zu werden. "_ - Die gesamte Datei wird nur dann ausgewertet, wenn Sie eine Anweisung wie' foo = MyClass() 'haben, wird die Klasse instanziiert. Andernfalls wird der Code ausgewertet, aber nicht ausgeführt, bis er benötigt wird. –
Schauen Sie sich meine obige Antwort mit Screenshots an, der Code wird während des Imports zweimal ausgeführt – user3264821