初めてのクラス実装

入門Python3 6.2


やっとクラスの話まで来ました。

まずはシンプルなクラスの実装をしてみます。

class Foo():
    pass

foo = Foo()
print(foo)
$ py main.py
<__main__.Foo object at 0x000000000280A748>


次にコンストラクタとインスタンス変数を持つクラスを実装してみます。

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

foo = Foo('test')
print(foo.bar)
$ py main.py
test

__init__がコンストラクタです。Foo()の時に呼ばれるメソッドですね。

そしてselfという変数ですが、これはC#で言うところのthisみたいなものですね。ただなぜ引数として受け取る形なのかよくわかりませんが。

またPythonにはprivate等のインスタンス変数は定義できないっぽいですね。