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であり、呼び出すときにこのパラメーターを渡す必要はありません。