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

この記事は、Pythonでクラスの学習中の方で、9人組ダンスボーカルのガールズグループ「NiziU」を知っている(聞いたことがある〜大ファン(ファンの愛称がWithUという様です。))の方を対象としています。
また、内包表記についても触れています。

サイトマップはこちらから

Python自作サンプル集へ
これからプログラミングを学ぶ方へ
プログラミングと資格へ
基本情報技術者試験トップへ
自己紹介

Pythonの進捗状況(私のロードマップ)

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

に例えられることが多いです。

そこで、ここでは、

設計図であるクラス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+'】です。'))

次に、各メンバーを格納するリストと、クラス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  ','ディープブルー'))

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

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

最後までお読み頂きありがとにゃん(=^x^=)
お疲れ様でした。では、NiziUの歌で癒されてちゃって下さい!!

かわいいですね。癒されます。

クラスは中々習得が難しいので、練習の為に同様なインスタンス化を行いました。
関連記事:

【Pythonクラス爆速理解!!】昭和ギャグから学ぶクラスとインスタンス「月曜日はウンジャラゲ♪」

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

■ 参考文献の紹介 ■
じっくり丁寧にPythonを学びたい方向けの書籍を紹介します。

Pythonを基礎から中級程度まで丁寧に学びたい方におすすめの書籍です。
まずはpaizaラーニングなどの学習コンテンツで1〜2巡(苦手な所は納得がいくまで何巡でも)してからこの本で学ぶと、自分の学習状況をブログなどでアウトプット出来るようになり、また、エラーなどの不明点を調べられる力もついていきます。

サイトマップはこちらから

Python自作サンプル集へ
これからプログラミングを学ぶ方へ
プログラミングと資格へ
基本情報技術者試験トップへ
自己紹介

Pythonの進捗状況(私のロードマップ)

投稿者: nekosiestr

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