雑多なブログ

音楽や語学、プログラム関連の話題について書いています

python3のクラス定義

空クラスの定義

空クラスを定義する場合は、passを記述する。

class Foo:
    pass

下記のように、コメント行だけや、passを記述しないとエラーとなる。

#これはNG
class Foo:
    
#これもNG
class Foo:
    #

クラスのプロパティ

publicなプロパティを定義する場合は、単に変数名を宣言する。
一方、privateなメンバーを定義する場合は、「__foo」のように先頭に半角アンダースコア2つ付ける。

class Foo:
    name = "Hoge"

f = Foo()
print(f.name)

また、クラスのプロパティを定義せずに、インスタンスに直接プロパティを設定する事もできる。

class Foo:
    pass

f = Foo()
f.name = "Mr John"

print(f.name)

コンストラク

特殊なメソッド init() を定義すると、初期化時 コンストラクタとして呼ばれる。

class Foo:
    def __init__(self, name):
        self.name = name

f = Foo("Tony")
print(f.name)

メソッド

class Foo:
    def show():