【Python】classの使い方を紹介
今回はPythonのclassの使い方について解説します。
クラスは、関連するデータと関数を1つのまとまりとして扱うための便利な機能です。
クラスの作り方と基本的な使い方を紹介します。
この記事では↓の内容が分かります。
- classの作り方
- classの呼び出し方
classの作り方(classキーワード/コンストラクタ)
class SampleClass:
def __init__(self, name):
# コンストラクタ(インスタンス生成時に自動実行)
self.name = name
def greet(self):
print("Hello, {}".format(self.name))
サンプルコードではSampleClassという名前のクラスを定義しています。
class クラス名:
クラスの定義は、このようにclass キーワードを使用して行います。
def __init__(self, name):
# コンストラクタ(インスタンス生成時に自動実行)
self.name = name
def greet(self):
print("Hello, {}".format(self.name))
このクラスでは2つのメソッドを定義しています。
重要なのは__init__メソッドの方です。
この名前でメソッドを作成すると「コンストラクタ」となり、インスタンス生成時に自動実行されます。
両方のメソッドでselfという引数があるのですが、これはインスタンスオブジェクト自身です。最初はあまり深く考えず、引数の最初にselfを付けるのだと覚えておいてください。
classの呼び出し方
変数 = クラス名(コンストラクタの引数)
classの呼び出しはこのように書きます。
class SampleClass:
def __init__(self, name):
# コンストラクタ(インスタンス生成時に自動実行)
self.name = name
def greet(self):
print("Hello, {}".format(self.name))
# classの呼び出し
my_instance = SampleClass("ジョン")
# greetメソッドの実行
my_instance.greet()
先ほどのSampleClassを呼び出すとこのようになります。
SampleClassのコンストラクタの引数にはnameがあるため、SampleClass(“ジョン")として引数を渡しています。
def __init__(self, name):
# コンストラクタ(インスタンス生成時に自動実行)
self.name = name
渡した"ジョン"はインスタンス変数self.nameに代入されます。
(このインスタンス変数は、クラス内のどこからでもアクセスできます)
# greetメソッドの実行
my_instance.greet()
クラスを呼び出した後、greetメソッドを実行しています。
self.nameにはジョンが代入されているため、「Hello, ジョン」と表示されます。
classの呼び出しと、メソッドの実行はこのように行います。