はじめに
今回は「Python」で「クラス」「クラス変数」「クラスメソッド」「インスタンス」について、勉強したことを記載していきたいと思います。
クラスとは
クラスとは、「定義された一定の振る舞いを持つオブジェクト構造」。つまり。情報の集合や操作を型として扱うことができるように作成するものです。
クラスは「class」キーワードを使用して定義し、クラスの中に使用したい変数やメソッドを定義していきます。
定義
class クラス名:
例
class User:
初期化とインスタンス変数
クラスには初期化処理「__init__」メソッドを用意し、インスタンス化(使用される時)に最初に必ず呼び出される処理を記述します。インスタンス毎に使用したい変数を、「__init__」メソッド内に定義することでインスタンス変数を定義することができます。
定義
class クラス名:
def __init__ (self, 引数1, 引数2, . . . .):
"""
初期化処理
"""
self.インスタンス変数名 = 値
例
class User:
def __init__ (self, userId, userName):
"""
初期化処理
"""
self.userId = userId
self.userName = userName
メソッド
メソッドは、データに対する操作や処理を記述します。メソッドを呼び出すことで記述した処理を実行することができます。
定義
def メソッド名(self, 引数1, 引数2, . . . .):
"""
メソッド処理
"""
例
class User:
def __init__ (self, userId, userName):
"""
初期化処理
"""
self.userId = userId
self.userName = userName
def printUser(self):
"""
ユーザー情報をプリント
"""
print(self.userId)
print(self.userName)
クラス(インスタンスの作成)の呼び出し
定義したクラスを実際に使用するために、呼び出し元からクラスを呼び出してインスタンス(オブジェクト)を作成します。
定義
変数 = クラス(引数)
例
user = User('1','mori')
user.printUser()
クラス変数
クラス変数は、インスタンス(オブジェクト)同士で共通にデータを使用する変数です。別々にインスタンスを作成しても、クラス変数は共有して扱われるため値が両方のインスタンス(オブジェクト)によって影響されます。
定義
class クラス名:
クラス変数名 = 値
# 呼び出し
クラス名.クラス変数名
例
class User:
callCount = 0
def __init__ (self, userId, userName):
"""
初期化処理
"""
self.userId = userId
self.userName = userName
User.callCount += 1
def printUser(self):
"""
ユーザー情報をプリント
"""
print(self.userId)
print(self.userName)
user = User('1','mori')
print(user.callCount)
user2 = User('2','mori')
print(user.callCount)
user.printUser()
user2.printUser()
ドキュメント
【公式ドキュメント】
3.13.1 Documentation
最後に
Pythonの環境構築は、この記事を参照してみてください。
【開発環境構築】VSCodeでPythonを使用するための環境を構築する – SEもりのLog Python
以上、ログになります。
これからも継続していきましょう!!
コメント