#目的
pythonを勉強しているうえで、クラスの書き方に理解が一度で追いつかなかったので、アウトプットして定着させる。
#クラスとインスタンス
-
クラス・・・プログラミングにおいて、「モノ」を生成するためのレシピ的なもの
-
インスタンス・・・レシピをもとに生成された「モノ」
##クラスの宣言方法
クラスを扱うには、宣言する必要がある。
sample.py
#クラスの宣言
class SampleClass():
##クラスの使い方
クラスの中で関数を定義することができる。
クラスの中で定義された関数のことをメソッドという。
メソッドの定義の方法は通常の関数と同じだが、第1引数にselfを使う。
sample.py
#クラスの宣言
class SampleClass():
def hello(self):
print("Hello World!")
##インスタンス変数の生成
インスタンスには色々な情報を定義することができる。
八百屋さんで売っていそうな品物を例にしてみる。
下記のプログラムで、家電の名前を出力する。
「インスタンス.インスタンス変数名」とすることで、インスタンスの変数を利用することができる
yaoyaclass.py
#クラスの宣言
class YaoyaItem():
def vegetable(self):
print(self.name)
#YaoyaItemクラスの値を代入
yaoyaitem1 = YaoyaItem()
#yaoyaitem1のnameが「大根」である情報を追加
yaoyaitem1.name = "大根"
#クラスの中で定義したメソッドを呼び出す
yaoyaitem1.vegetable()
vegetableメソッドが呼び出されて、以下の結果が得られる
大根
##メソッドに引数を持たせる場合
メソッドに引数を持たせる場合は、第2引数以降に引数名を記載する
yaoyaclass.py
#クラスの宣言
class YaoyaItem():
def payment(self,count):
#戻り値に合計金額を設定
total_price = self.price * count
return total_price
#YaoyaItemクラスの値を代入
yaoyaitem1 = YaoyaItem()
yaoyaitem1.name = "りんご"
yaoyaitem1.price = 50
#第2引数のcountに、4を代入する
result = yaoyaitem1.payment(4)
print(yaoyaitem1.name+"を4個買いました。合計"+str(result)+円です)
結果は下記のように表示される。
りんごを4個買いました。合計200円です
#感想
とりあえず書いてみましたが、少しは定着できたかな。