Object Oriented Python
ということで、ようやくオブジェクト指向です。
これはなかなか独特というか、アレですね……
アクセス修飾子とかいうんでしたっけ、
public, private, protectedみたいなやつ。
あれがありません、Python。
アトリビュート(いわゆるメンバ変数のこと)とかメソッドの先頭に
・_をつけると「外から修正しないように」という主張が出来る(システム的な隠蔽ではなくただの慣習)
・__をつけると外部からはアクセスできなくなる
の二種類の方法で隠蔽が出来ます。
アトリビュートは__init__メソッド(コンストラクタ)の中で作成しますが、
動的に作成することも出来ます。
あとメソッドはselfを最初の引数にしなければなりません。
名前はselfじゃなくてもいいらしいですが、
要はobject自身が入ってくるわけですね。
んで、コードはこんな感じで書きます。
class Hoge: def __init__(self, hoge): self.hoge = hoge self.__hogehoge = hoge def getHogeHoge(self): return self.__hogehoge hoge = Hoge("aaaa") print hoge.hoge aaaa print hoge.__hogehoge AttributeError print hoge.getHogeHoge() aaaa