(100日、2時間、4日目)_init_()メソッドの役割

1. _init _()メソッドを定義する必要があるのはなぜですか?定義と未定義の違いを見てみましょう。

1.cはCのインスタンス化されたオブジェクトです。_init_()メソッドがある場合は、最初にCを呼び出します。

class A:
    def __init__(self):
        print("math")
class B:
    def __init__(self):
        print("hello")
class C(A,B):
    def __init__(self):
        print("world")
    def get(self):
        print("得到方法")

c=C()  #注意括号,要记得加括号,实例化时就会调用本身的方法

  

2. Cに親クラスを呼び出す_init_()メソッドがない場合、CはCのインスタンス化されたオブジェクトです。

  C(A、B)の場合はAを呼び出し、C(B、A)の場合はBを呼び出します

class A:
    def __init__(self):
        print("math")
class B:
    def __init__(self):
        print("hello")
class C(A,B):
    #def __init__(self):
       # print("world")
    def get(self):
        print("得到方法")

c=C()  #注意括号,要记得加括号,实例化时就会调用本身的方法

 

3. A、B、Cにそのような機能がない場合、出力はありません。

class A:
    def a(self):
        print("math")
class B:
    def b(self):
        print("hello")
class C(A,B):
    #def __init__(self):
       # print("world")
    def get(self):
        print("得到方法")

c=C()  #注意括号,要记得加括号,实例化时就会调用本身的方法
print('都没有')

  

4.クラスの__init __()関数は、コンストラクターとも呼ばれ、コンストラクターまたは初期化関数とも呼ばれます。その機能は、インスタンスを初期化するときに、渡されたインスタンスのデフォルト値を初期化することです。__init __()を記述しない場合は、デフォルトの空の__init __()が呼び出されます。率直に言って、このメソッドは、記述の有無に関係なく呼び出され、インスタンス化されると呼び出されます。

注:「__init__」の前後には2つの下線があります。

__init__メソッドの最初のパラメーターは常にselfであり、作成されたインスタンス自体を表すことに注意しください。したがって、selfは作成されたインスタンス自体を指すため、__init__メソッドでさまざまなプロパティをselfにバインドできます。

__init__メソッド、インスタンスを作成するとき、あなたは空のパラメータを渡すことができない、あなたは合格しなければならない__init__方法を一致させるパラメータで、しかし、自己を渡す必要はありません

class Student():
    def __init__(self, name, score):
        self.name=name
        self.score=score

bart = Student('Bart Simpson', 59)
print(bart.name)
print(bart.score)

 

通常の関数と比較すると、クラスで定義されている関数の違いは1つだけです。つまり、最初のパラメーターは常にインスタンス変数selfであり、呼び出すときにこのパラメーターを渡す必要はありません。

おすすめ

転載: blog.csdn.net/zhangxue1232/article/details/109367105