2つのクラスを継承して1つのクラスのインスタンスを別のクラスのinitメソッドに渡すのはどういう違いがありますか?以下のようにクラスを継承してクラスインスタンスを別のクラスに渡す間のPython差分
、 方法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()
方法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()
方法1と2の間のdiffは何ですか? 私はいくつかのクラスを持っています:config.py、log.py、analyse.py、HTTPrequest.py、request.py、attack.py
上記のクラスはすべて、config.pyとlogのクラス変数の値が必要です.py。 また、analyse.pyにはrequest.pyとHTTPRequestの値が必要です.pyとattack.yにはrequest.pyの値が必要です。
誰でも複数の、または複数レベルまたはusecompositionのように継承する方法を教えてくれますか?
私はそのメソッドがインポートプロセス自体の間に起動する前に自動的に実行されますクラス定義を含むファイルをインポートします。実行せずにクラスとメソッドを含むファイルをインポートする方法。 __name __ == "__ main__":クラス名を継承してメインメソッド – user3264821
_をクラスに継承できないため、クラスを囲むことはできません。 "クラス定義でファイルをインポートすると、そのメソッドはインポートプロセス中に自動的に呼び出されます。実行しないでクラスとメソッドを含むファイルをインポートする "_ - ファイル全体が評価されるのは、' foo = MyClass() 'のような文がクラスをインスタンス化する場合のみです。それ以外の場合、コードは評価されますが、必要になるまで実行されません。 –
スクリーンショットで上記の私の答えを見て、コードがインポート中に2回実行されている – user3264821