private変数とstaticなメソッドの作り方(Python)
Pythonでprivate変数ってどうやって定義すんのかなーと思って調べたら
しかし、pythonにはこのデータのカプセル化という概念はない。すべてのデータが自由にアクセスできる。これについてテキストでは“みんな大人なんだから”ということで、「デバックの際にはアクセスできることが有効であるし、自由にアクセスできるからといって、アクセスするプログラムを作らなければならないわけではない。アクセスしないようにプログラムを作ればいい。みんな大人なんだから。」と逃げている(と思う)。
と書いてあって思わず吹き出してしまった(笑)。そういうわけで、private変数というのは無いらしい。
あともう一つ。staticなメソッドの書き方はPython : static method & class methodに書いてあった。
class myclass:
def theMethod():
return True
theMethod = staticmethod(theMethod)
メソッドを書いた後に、staticmethodメソッドで自分自身を上書きするとstaticになるそうです。staticなメソッドはどのインスタンスにも属さないので引数のselfは必要ありません。メンバ変数は何もしなくても普通に クラス名.変数名
でアクセスし放題ですね。大人って素敵だ。
追記(2008-08-16):__変数名
でprivateになるらしい。
投稿者 | CASPAR003 |
投稿時刻 | 21:42 |
カテゴリー | Shade |
コメント | 0 件 |
トラックバック | 0 件 |
記事へのリンク | http://www.caspar003.info/delta/archive/2008/08/15/2142.html |
コメント
- 投稿者
トラックバック
- トラックバック