一言で表すと
メンバ変数(変数)とメソッド(関数)をまとめて管理できるオブジェクト。
言わば、「設計図」みたいなものです。
使い方
定義の例
以下の例では、動物を表すAnimal
クラスを定義しています。Animal
クラスのインスタンスのメンバ変数として、名前
と種類
を定義し、それぞれNone
で初期化しています。
また、メンバ関数(メソッド)として、cry
を定義しています。
最初の引数名をself
にするのはお約束。
class Animal():
def __init__(self, name: str = None, type: str = None):
self.name = name
self.type = type
# 鳴くメソッド(デフォルトは"にゃー")
def cry(self, sound: str = 'にゃー'):
print(sound)
インスタンス化
Animal
クラスをインスタンス化
animal = Animal()
animal
の型はAnimal型
type(animal)
<class '__main__.Animal'>
インスタンス化する際に、引数を受け取らなかったため、デフォルト値が入っている
print(animal.name)
print(animal.type)
None
None
もちろんインスタンス化する際に任意の値で初期化することもできる
animal = Animal(name='ポチ', type='dog')
print(animal.name)
print(animal.type)
ポチ
dog
メソッドを呼び出す
デフォルト値はにゃー
animal.cry()
にゃー
引数に値を入れれば
animal.cry(sound='わん')
わん
まとめ
簡単にクラスの説明をしてみました。
間違っているところなどがあれば、コメントしていただけると助かります!