はじめに
最近、Pythonを使ったプログラムを書いていなかったため、自分自身の理解を深めることや復習を目的として、今回はクラスと関数の違いについてまとめていきます。
本記事の内容は個人の備忘録レベルとなっております。その点をご理解いただければ幸いです。
具体的なコード例を見ながら、クラスと関数の違いについて自分なりに整理していきます。
書こうと思ったきっかけ
普段、AWSのLambda関数を使う際によくPythonを活用していますが、最近はLambdaを使う機会が減っていました。
そのため、改めてクラスと関数の違いについてまとめてみようと思いました。
それぞれの違いを体系的に整理することで、後から振り返った際に、自分の知識としてこの記事を活用できると考えています。
しっかりとアウトプットしていきたいと思います。
クラスと関数について
ここでは、クラスと関数について簡単にまとめていきます。この内容が、どなたかの学習の参考になれば幸いです。
関数の概要
- 定義: 特定の動作や計算を実行するためのコードのまとまり。
- 使い方: 入力(引数)を受け取り、出力(戻り値)を返す。
- 目的: 一般的な処理を簡潔にまとめて再利用しやすくする。
例:
def greet(name):
return f"Hello, {name}!"
# 関数の呼び出し
print(greet("Alice")) # 出力: Hello, Alice!
この場合、greet
は名前を受け取って挨拶のメッセージを生成する関数です。
クラスの概要
- 定義: データ(属性)とそのデータを操作するための機能(メソッド)をまとめた設計図。
- 使い方: クラスからオブジェクト(実体)を生成して使う。
- 目的: 関連するデータと機能をひとまとめにして、再利用性や拡張性を高める。
例:
class Greeter:
def __init__(self, name):
self.name = name
def greet(self):
return f"Hello, {self.name}!"
# クラスを使ってオブジェクトを生成
greeter = Greeter("Alice")
print(greeter.greet()) # 出力: Hello, Alice!
この場合、Greeter
クラスは名前を保持し、挨拶を生成するための設計図です。
Greeter
を使って作られた greeter
オブジェクトが greet メソッドを使って挨拶を生成します。
違い(簡単に)
- 関数: 単一の処理を実行するためのツール。
- クラス: データとその操作をまとめて管理するための仕組み。
主な違い
-
データの保持:
- 関数: 一時的なデータ処理に使われることが多い。
- クラス: データ(属性)を長期間保持し、それを操作するための方法(メソッド)を定義する。
-
再利用性:
- 関数: 単一のタスクを処理するのに適している。
- クラス: 複雑なデータと機能をまとめて再利用するのに適している。
この違いを覚えておくと、使い分けが簡単になります!
まとめ
ここまでお読みいただき、ありがとうございました。今回は、基本的なクラスと関数の違いについてまとめてみましたが、自分自身にとっても非常に勉強になる機会となりました。
これからも分からないことに積極的に向き合い、アウトプットを通じて理解をさらに深めていきたいと思います。
この記事が少しでも皆さんのお役に立てれば幸いです。