pythonでのクラスの書き方です。

# クラスの書き方
class Catcat: # クラス名は大文字始まりで繋げて書く

# クラス変数(クラスのオブジェクトで共通した値を持ちたいときに使う)
# クラス変数はメソッドの外に記述する
# クラス変数名はself.は不要
# クラス変数名は一度設定したら変更しないのが一般的(変更するとすべてのオブジェクトのクラス変数の値が変わる
# クラスの中でクラス変数名にアクセスするには、self.クラス変数名でアクセスする
school_name = ‘ねこ学校’

# 初期化(イニシャライザ)このクラスのオブジェクトが作られるタイミングで1回だけ処理される
# これもselfが第一引数
# インスタンス変数に値を代入する時に使う
def __init__(self, name, height, weight):

# インスタンス変数(オブジェクトごとに違うデータ)
# self.を付けて定義する
self.name = name
self.height = height
self.weight = weight

# メソッド
# メソッド名は小文字で書く メソッドの第一引数はselfにする。これはオブジェクト自身。これを書かないとインスタンス変数は使えない
def calc_bmi(self):

# 処理の書き方は関数と同じ
# メソッドからインスタンス変数にアクセスする場合もself.インスタンス変数名
# bmiはこのメソッド内だけで使用できる変数(メソッドの外からはアクセスできない)
bmi = self.weight / (self.height * self.height)
return bmi

neko_a = Catcat(‘タマ’, 1.7, 70)
neko_b = Catcat(‘シロ’, 1.8, 70)

# インスタンス変数名にアクセスするには、オブジェクト名.インスタンス変数名でアクセス
print(neko_a.name) # => タマ
print(neko_a.calc_bmi()) # => 24.221453287197235
print(neko_b.calc_bmi()) # => 21.604938271604937

# クラス変数名にアクセスするには、クラス名.クラス変数名でアクセス
print(Catcat.school_name) # => ねこ学校
Catcat.school_name = ‘ねこ高校’
# クラス変数名には、オブジェクト名.クラス変数名でもアクセスできる
print(neko_a.school_name) # => ねこ高校

Pythonコース