こんにちは。
本日は、Pythonメモです。
定義方法
一番シンプルな定義は以下です。
以下は、中身のないクラスを定義しています。
class MyClass(): pass
インスタンス化は、クラス名()
とします。
m = MyClass()
docstring
クラスのdocstring(ドキュメンテーション文字列)は以下のように記載します。
class MyClass(): """Sample Class""" pass
docstringを取得するには、__doc__
を使用します。
m = MyClass()
print(MyClass.__doc__)
実行結果は以下です。
Sample Class
クラス変数
クラス変数はクラス名.変数名
で取得できます。
クラス変数は、すべてのインスタンスで共通です。
class MyClass(): """Sample Class""" num = 1000
print(MyClass.num)
実行結果は以下です。
1000
クラス変数は動的に追加もできます。
MyClass.color = 'Yellow' print(MyClass.color)
実行結果は以下です。
Yellow
インスタンス変数
インスタンス変数はインスタンス名.変数名
で取得できます。
インスタンス変数は、それぞれのインスタンスで固有のデータです。
以下のサンプルは、コンストラクタ(__init__
)で設定しています。
class MyClass(): """Sample Class""" def __init__(self): self.name = 'Bob'
m = MyClass()
print(m.name)
実行結果は以下です。
Bob
クラス変数同様、動的に追加することも可能です。
m = MyClass() m.age = 123 print(m.age)
実行結果は以下です。
123
メソッド
メソッドは、第1引数に自クラスのインスタンスを受けます。
第2引数以降に引数を設定します。
class MyClass(): """Sample Class""" size = 0 def __init__(self): self.name = 'Bob' def setSize(self, s): self.size = s
m = MyClass() m.setSize(100) print(m.size)
実行結果は以下です。
100
以上です。