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 |
コメント
- 投稿者
トラックバック
- トラックバック
