クラス 

演習問題(アドレス帳の作成)

class Person:
    def _ _init_ _(self, last_name, first_name, tel, mail_address):
        self.last_name = last_name
        self.first_name = first_name
        self.tel = tel
        self.mail_address = mail_address# ここを修正

※initで初期化をして、関数の中で引数にしているものを定義していく。第一引数にselfを書くこと、第2引数から自由に使いたい変数を使うことができる。

※メソッド内では左辺にselfを頭につけることを忘れない


class AddressBook:
    def _ _init_ _(self):
        self.person_list = []

※リストの作成の仕方は変数名 = [] で新規リストを作成している。リスト名にselfをつけることを忘れないように


adrbk = AddressBook()
person1 = Person('田中', '一郎', '03-1111-2222', 'ichiro@pyq.jp')


上記でオブジェクトとインスタンスを作成した



演習② (他クラスのメソッドを使う方法)
class Person:
    def __init__(self, last_name, first_name, tel, mail_address):
        self.last_name = last_name  # 姓
        self.first_name = first_name  # 名前
        self.tel = tel  # 電話番号
        self.mail_address = mail_address  # メアド

    def full_name(self):
        """フルネーム(姓+空白1文字+名前)を返す"""
        return self.last_name + " " + self.first_name

※selfをつけて変数を使えるのはメソッド内だけだと思っていたが、クラス内であれば他のメソッドの変数をselfをつけることで使える


adrbk = AddressBook()
person1 = Person('田中', '一郎', '03-1111-2222', 'ichiro@pyq.jp')
print(person1.full_name() == '田中 一郎')  ※==の書き方で判定することができる