Diagonal M

データサイエンス系長期インターンで学んだことなど

【Python】オブジェクト指向プログラミング vol.5 ~関数の追加~

Pythonオブジェクト指向の勉強の続きです。

関数をクラスに追加する

Playerクラスに能力値の平均値を算出する関数を作ってみます。能力値の平均値を戻り値にする関数をability_avgとしてPlayerクラスに追加します。

class Player:
    def __init__(self, name, team, position, attack, special, heart, technique, defense):
        self.name = name
        self.team = team
        self.position = position
        self.attack = attack
        self.special = special
        self.heart = heart
        self.technique = technique
        self.defense = defense
    
    def ability_avg(self):
        return (self.attack+self.special+self.heart+self.technique+self.defense) / 5
        

c = Player('クリステファン・ローディ', 'R・マドリード', 'FW', 409, 391, 310, 395, 193)

ability = c.ability_avg()
print('能力値の平均:{}'.format(ability))

このようにPythonではオブジェクトに属する関数を定義するとき、第一引数にselfというキーワードを書くことになっています。

上のコードを実行すると以下の結果が出力されます。

能力値の平均:339.6

selfはオブジェクト生成時に自動的に引数に入ってくるので引数として渡す必要はありません。

次回は簡単に継承とオーバーライドについて簡単にまとめます。