Pythonはオブジェクト指向プログラミング言語で、その中心的な概念が「クラス」です。クラスはデータとそのデータを操作するための関数(メソッド)をまとめたもので、設計図やテンプレートのようなものです。
関数とクラス
関数は特定の処理をまとめたもので、一度定義してしまえば何度でも呼び出すことができます。一方、クラスは関数と変数をまとめたもので、これを元にオブジェクト(インスタンス)を作ることができます。
例えば、以下のコードは関数を用いてりんごとみかんの個数を入力したら、合計金額を返すプログラムです。
def total_price(r, n):
total = r*100 + n*200
return total
apple = input("apple")
orange = input("orange")
print(total_price(apple, orange))
このプログラムをクラスを用いて書き換えると以下のようになります。
class Fruit:
def __init__(self, apple, orange):
self.apple = apple
self.orange = orange
def total_price(self):
total = self.apple*100 + self.orange*200
return total
apple = input("apple")
orange = input("orange")
fruit = Fruit(apple, orange)
print(fruit.total_price())
このように、クラスを用いると関数と変数をまとめて管理することができ、コードの再利用性と可読性が向上します。
クラスの利点
クラスの最大の利点は、同じ処理を行うオブジェクトを大量に作成できることです。例えば、ゲーム開発でNPCの車が1000台必要だったとします。クラスを作成し、1000台インスタンス化すれば、一瞬でクローンが1000個作成できます。
また、クラスを用いると「カプセル化」、「継承」、「ポリモーフィズム」などのオブジェクト指向の概念を利用することができます。これらの概念を利用することで、より効率的なプログラムを作成することが可能になります。
以上、Pythonの関数とクラスについて簡単に説明しました。これらの概念を理解し、適切に利用することで、効率的で可読性の高いコードを書くことができます。.