__init__とは、データ属性を初期化すること。
こんな入力法則で始まりますよと宣言すること。
class Human:
def __init__(self, age=0, last_name=”, first_name=”, blood_type=”):
self.age = age # 年齢
self.last_name = last_name # 姓
self.first_name = first_name # 名前
self.blood_type = blood_type # 血液型
__int__を使用することで、クラスをインスタンス化している。
この関数をコントラクタという。
selfを一番初めに入れる。でも、そこに変数を入れる必要はない。
数字は=0を入れる。文字列は=’’を入れる。出ないとエラーになる。
もし、文字列のみだったら、=’’はいらないことになる。
h1 = Human()
h2 = Human(33, ‘田中’, ‘太郎’, ‘O’)
クラスHumanに()を代入したのがh1,()の内容を代入したのがh2という意味。
インスタンスを生成するという。
print(h1.age, h1.last_name, h1.first_name, h1.blood_type)
print(h2.age, h2.last_name, h2.first_name, h2.blood_type)
結果
0
33 田中 太郎 O
Pythonではオブジェクトが利用する関数を定義する場合、第1引数はオブジェクト自身が自動的に代入される仕組みになっている。つまり、決まっているという事。でも、自分で定義をしないとだめ。
リストの作成方法
classAddressBook:
def__init__(self):
self.person_list = []
このselfを置くことで初期化している。これがないと空リストが作成されない。
コメント