プログラ生活

プログラム初学者のためのポイントを書いていこうと思います。たまに脇道それた記事もありますが、息抜きだとおもって気長にお付き合いください。

【Python連載】クラス (メソッド)-021-

www.pon-x.jp

今回は前回までの続き、クラスの続きです。

メソッド

前回はクラスとインスタンスについて触れましたが、今回はメソッドについて触れていきます。
メソッドは端的に言うと、クラス内に作る関数です。

前回に引き続き、今回もストーリー仕立てで進めていきます。

勇者と賢者に初期設定を与えるメソッドを作ります。

# selfでインスタンスを定義します。
class Character:
    
    def set_status(self , set_job , set_HP , set_weapon): # 値を設定するメソッドを定義
        self.job = set_job
        self.HP = set_HP
        self.weapon = set_weapon
        
    def print_status(self): #表示するためのメソッド
        print(self.job)
        print(self.HP)
        print(self.weapon)

# yusyaがself自身になってインスタンスを作成します。
yusya = Character()
yusya.set_status("ネオ勇者" , 120 , "鋼鉄の剣")

# kenjaがself自身になってインスタンスを作成します。
kenja = Character()
kenja.set_status("偉い賢者" , 90 , "癒し系の杖")


# 表示するするメソッドを使ってみよう。

print("-------------")

yusya.print_status()

print("-------------")

kenja.print_status()

print("-------------")

f:id:hanabusa-snow:20211112100759p:plain

  1. まずクラスを作ります。selfというのは、インスタンス自身のことを示しています。ここは、キャラクター設定のテンプレートなので、まだキャラクターは誕生していません。
  2. Character()でインスタンス化を行っております。つまり、ここでキャラクターが誕生しています。
  3. yusya.set_status("ネオ勇者" , 120 , "鋼鉄の剣")で勇者の、kenja.set_status("偉い賢者" , 90 , "癒し系の杖")で賢者のステータスを設定しました。
  4. print_statusは設定値をprintしてあげるメソッドなので、ここで表示をしています。

いかがでしょうか。
結構慣れるまでしんどいですよね。

次回は、これにひきつづきコンストラクタというものを紹介します。