【Python】クラスについて
クラスとはオブジェクトの設計図のこと
どの様なデータ(属性)を持ち、どのような動作(メソッド)にするか定義するものがクラス。
属性 = どのようなモノにするか(おもちゃだと、色・大きさ。。)
メソッド = どのような動きをするか(歩く・しゃがむ・走る。。。)
設計図を元におもちゃを作る。
クラス(設計図)を元にインスタンス化(おもちゃを完成させる)する。
class クラス名:
def メソッド名(self, 引数,...):
# 処理
def メソッド名(self, 引数,...):
# 処理
クラスが持っている関数は、メソッド
と言います。
メソッド
を書く時は、必ず最初の引数はself
を書いてください。
selfにはクラスから作られた実態が渡されます。
selfは自分自身(インスタンス)という意味になります。
インスタンス変数は、メソッドの中で定義します。
# クラス変数
変数名=値
def__init__(self, 引数,...):
self.インスタンス変数名 = 引数
def メソッド名(self, 引数,...):
# 引数
変数名=値はクラス変数
と言います。クラスで共通した値を持つクラス変数です。
__init__
は「コンストラクタ」又は、「イニシャライザ」と呼ばれます。
初期化するものです。
これは、インスタンス作成時に1度だけ呼び出されるメソッドです。
クラスが持っている変数「インスタンス変数」に、値を代入するのに使います。
インスタンス変数とクラス変数を属性
と言います。
クラスのインスタンス生成方法
インスタンス名 = クラス名(引数1, ...):
引数1は、イニシャライザに渡す引数
インスタンスからメソッドを呼び出す方法
インスタンス = メソッド名(引数1, ...)
インスタンス.インスタンス変数名
インスタンス.クラス変数名
ChatGPTにPythonのインスタンス変数とは?と質問した答え
Pythonのクラス内で定義された変数は、そのクラスのインスタンスごとに異なる値を持つことができる変数です。これらの変数は「インスタンス変数」と呼ばれます。インスタンス変数は、各インスタンスごとに固有の属性を持たせるために使用されます。
以下は、Pythonでインスタンス変数を使用する例です:
class Person:
def __init__(self, name, age):
self.name = name # インスタンス変数
self.age = age # インスタンス変数
# Personクラスのインスタンスを作成
person1 = Person("Alice", 30)
person2 = Person("Bob", 25)
# インスタンス変数にアクセス
print(person1.name) # 出力: Alice
print(person2.age) # 出力: 25
上記の例では、Person クラスのインスタンス変数として name と age を定義しています。これにより、person1 インスタンスと person2 インスタンスはそれぞれ異なる name と age を持つことができます。
インスタンス変数は、self キーワードを使用してクラス内のメソッドからアクセスできます。上記の例では、init メソッドで self.name と self.age がインスタンス変数として設定されています。
インスタンス変数はクラス内のどのメソッドからもアクセス可能であり、インスタンスごとに個別の値を保持することができます。