【Pythonクラス爆速理解!!】「NiziU」のメンバーカラーでクラスを学習

この記事を読むことで、

・9人組ガールズグループ「NiziU」を通してPythonのクラスの初歩的なコードが書けるようになる

・改行の仕方の復習

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

の概要が掴めます。

クラス=設計図

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

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

クラス… NiziUの【名前】、【メンバーカラー】といったフォーマット

インスタンス… そのフォーマットから作った、MAKO; RIO; MAYA; RIKU; AYAKA; MAYUKA; RIMA; MIIHI; NINA
のメンバーごとの名前やメンバーカラーなど

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

(ファンの愛称は、WithUという様です。)

クラスNiziUは、「名前」・「メンバーカラー」を持つ設計図です。
この設計図から作られた具体的なメンバーの、

「名前:MAKO , カラー:オレンジ」,
「名前:RIO , カラー:水色」,
「名前:MAYA , カラー:紫」,
「名前:RIKU , カラー:黄色」,
「名前:AYAKA , カラー:白」,
「名前:MAYUKA , カラー:薄緑」,
「名前:RIMA , カラー:赤」,
「名前:MIIHI , カラー:ピンク」,
「名前:NINA , カラー:青」

といった、クラスから作られた、「具体的なメンバーと担当カラー」をインスタンスとします。



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

initは、最初に自動的に呼ばれるメソッド(関数のこと。クラスでは関数をメソッドと呼びます)で、引数の「self」とは、MAKOさん、RIOさん、MAYAさん、RIKUさん、AYAKAさん、MAYUKAさん、RIMAさん、MIIHIさん、NINAさんといった、具体的なメンバー自身のことです。

initが呼ばれた後に、profile (プロフィール)というメソッドが呼び出され、ここで各メンバーの名前・担当カラーの紹介が出力されます。

class NiziU:
    def __init__(self,name,color):
        self.name=name
        self.color=color

    def profile(self):
        print('名前:【'+self.name+('】, カラー:【'+self.color+'】'))

次に、各メンバーを格納するリストmemberと、クラスNiziUからインスタンス化(実例化)した作られたオブジェクト(MAKOさん、RIOさん、MAYAさん、RIKUさん、AYAKAさん、MAYUKAさん、RIMAさん、MIIHIさん、NINAさん)をリストにappendを使って追加するコードです。

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

#メンバーリストの定義とインスタンス化
member=[]
member.append(NiziU('MAKO  ','オレンジ'))
member.append(NiziU('RIO   ','水色    '))
member.append(NiziU('MAYA  ','紫      '))
member.append(NiziU('RIKU  ','黄色    '))
member.append(NiziU('AYAKA ','白      '))
member.append(NiziU('MAYUKA','薄緑    '))
member.append(NiziU('RIMA  ','赤      '))
member.append(NiziU('MIIHI ','ピンク  '))
member.append(NiziU('NINA  ','青      '))

リストをループで取り出して、プロフィールメソッドを呼び出すコードです。

#基本的なループでメソッドを呼び出す
for oshi in member:
    oshi.profile()

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

#内包表記を使用
[oshi.profile() for oshi in member]

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

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

class NiziU:
    def __init__(self,name,color):
        self.name=name
        self.color=color

    def profile(self):
        print('名前:【'+self.name+('】, カラー:【'+self.color+'】'))


#メンバーリストの定義とインスタンス化
member=[]
member.append(NiziU('MAKO  ','オレンジ'))
member.append(NiziU('RIO   ','水色    '))
member.append(NiziU('MAYA  ','紫      '))
member.append(NiziU('RIKU  ','黄色    '))
member.append(NiziU('AYAKA ','白      '))
member.append(NiziU('MAYUKA','薄緑    '))
member.append(NiziU('RIMA  ','赤      '))
member.append(NiziU('MIIHI ','ピンク  '))
member.append(NiziU('NINA  ','青      '))

#内包表記を使用
[oshi.profile() for oshi in member]

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

遊歩道の桜です。
それと、NiziUの曲2つです。

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

■ 独習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ミラーレス一眼を使っています。

モバイルバージョンを終了