【Pythonクラス爆速理解!!】「BE:FIRST」のメンバーのプロフィール(名前・出身地・身長・デビュー時年齢)でクラスを学習

この記事を読むことで、

・7人組ボーイズグループ「BE:FIRST」を通してPythonのクラスの初歩的なコードが書けるようになる

・改行の仕方の復習

・内包表記を使ったループの復習

の概要が掴めます。

クラス=設計図

インスタンス=クラスという設計図から作られた「具体的な」製品

と説明をすると、なんだか小難しい感じがするので、

クラス… メンバーの【名前】、【出身地】、【身長】、【デビュー時の年齢】といったフォーマット

インスタンス… そのフォーマットから作った、

「SOTA(ソウタ)・SHUNTO(シュント)・MANATO(マナト)・RYUHEI(リュウヘイ)・JUNON(ジュノン)・RYOKI(リョウキ)・LEO(レオ)」のメンバーごとの名前など

と捉えると少し分かりやすくなるかもしれないです。

まず、クラスBefirstのコードの説明をします。

initは、最初に自動的に呼ばれるメソッド(関数)で、引数のselfとは、SOTAさん、SHUNTOさん、MANATOさん、RYUHEIさん、JUNONさん、RYOKIさん、LEOさんといった、具体的なメンバー自身のことです。

initが呼ばれた後に、profile (プロフィール)というメソッドが呼び出され、ここで各メンバーの名前・出身地・身長・デビュー時年齢(2021年8月時点)の紹介が出力されます。

profileメソッドの身長とデビュー時の年齢は数値なのでstrで括っています。
また、結果が見やすいように【 】で括っています。

class Befirst:
    def __init__(self,name,place,height,age):
        self.name=name
        self.place=place
        self.height=height
        self.age=age  

    def profile(self):
        print(" 【"+self.name+"】:【"+self.place+"】:【"+str(self.height)+"】cm:【"+str(self.age)+"】歳")

次に、各メンバーを格納するリストmemberと、クラスBefirstからインスタンス化(実例化)して作られたオブジェクト(SOTAさん、SHUNTOさん、MANATOさん、RYUHEIさん、JUNONさん、RYOKIさん、LEOさん)をリストにappendを使って追加するコードです。

ここでは、memberというリストに追加しています

#メンバーのリストを作成
member=[]

#インスタンス化して作ったオブジェクトをリストに追加
member.append(Befirst("池亀樹音","東京都",183,23))
member.append(Befirst("上村礼王","埼玉県",179,22))
member.append(Befirst("三山凌輝","愛知県",177,22))
member.append(Befirst("島雄壮大","神奈川",174,20))
member.append(Befirst("廣瀬真人","福岡県",173,20))
member.append(Befirst("久保舜斗","愛知県",174,17))
member.append(Befirst("黒田竜平","愛知県",180,14))

メンバーを追加したリストmemberをループで取り出して、profileメソッドを呼び出すコードです。

#ループでプロフィールメソッドを呼び出す
for man in member:
    man.profile()

この部分を内包表記で書くと、

#ループで同様の処理を内包表記で書く処理
[man.profile() for man in member]

このように1行で書けます。

ここまでのコードと実行結果です。

class Befirst:
    def __init__(self,name,place,height,age):
        self.name=name
        self.place=place
        self.height=height
        self.age=age  

    def profile(self):
        print(" 【"+self.name+"】:【"+self.place+"】:【"+str(self.height)+"】cm:【"+str(self.age)+"】歳")


#メンバーのリストを作成
member=[]

#インスタンス化して作ったオブジェクトをリストに追加
member.append(Befirst("池亀樹音","東京都",183,23))
member.append(Befirst("上村礼王","埼玉県",179,22))
member.append(Befirst("三山凌輝","愛知県",177,22))
member.append(Befirst("島雄壮大","神奈川",174,20))
member.append(Befirst("廣瀬真人","福岡県",173,20))
member.append(Befirst("久保舜斗","愛知県",174,17))
member.append(Befirst("黒田竜平","愛知県",180,14))


#ループで同様の処理を内包表記で書く処理
[man.profile() for man in member]

お疲れ様でした。ブレイクタイムPhotoは、

しながわ花海道のコスモスです。

ご精読ありがとうございました。

■ 独習Python ■
Kindle版
単行本(ソフトカバー)

Python自作サンプル集へ戻る

写真クリエイターとしての活動
自己紹介

投稿者アバター
nekosiestr
プログラミング学習中のロスジェネ(就職氷河期世代)の発達障害者です。 宜しくお願いします。 趣味で写真を撮っています。 プログラミングは、GAS/HTML/CSS/JavaScript/jQuery/PHP、 発達障害は、自閉症スペクトラムASD/ADHD、その他双極性障害やHSP(5人に1人の繊細さん)などの生きづらさを抱えておりますが、それでも楽しく生きて行きたいです!! 写真は、以前はコンパクトデジカメ、現在は、OLYMPUSミラーレス一眼を使っています。

投稿者: nekosiestr

プログラミング学習中のロスジェネ(就職氷河期世代)の発達障害者です。 宜しくお願いします。 趣味で写真を撮っています。 プログラミングは、GAS/HTML/CSS/JavaScript/jQuery/PHP、 発達障害は、自閉症スペクトラムASD/ADHD、その他双極性障害やHSP(5人に1人の繊細さん)などの生きづらさを抱えておりますが、それでも楽しく生きて行きたいです!! 写真は、以前はコンパクトデジカメ、現在は、OLYMPUSミラーレス一眼を使っています。