home ホーム search 検索 -  login ログイン  | reload edit datainfo version cmd icon diff delete  | help ヘルプ

日記/2009/03/16/Pythonの関数でstaticな変数を使いたい時

日記/2009/03/16/Pythonの関数でstaticな変数を使いたい時

日記 / 2009 / 03 / 16 / Pythonの関数でstaticな変数を使いたい時
id: 210 所有者: msakamoto-sf    作成日: 2009-03-16 00:48:33
カテゴリ: Python 

あるにはあるんですが、結局クラス作ってどーたらこーたらで仰々しい。

というかstatic変数ってある種グローバルな変数なので、いっそ関数オブジェクトの属性として入れておけば良いんじゃないのか、と思ってこんな感じにしてみた。

>>> def f1(a1, sd='ABC'):
...   if not hasattr(f1, 'hoge'):
...     f1.hoge = sd
...   f1.hoge = f1.hoge + a1
...   return f1.hoge
...
>>> f1('abc')
'ABCabc'
>>> f1('def')
'ABCabcdef'
>>> f1('ghi')
'ABCabcdefghi'

"sd"というのは"Static Default"の略。

・・・これで良いような気がするんだけど、どうなんだろう。


プレーンテキスト形式でダウンロード
現在のバージョン : 1
更新者: msakamoto-sf
更新日: 2009-03-16 00:52:23
md5:cb0918a93b187507472e49a6989ef894
sha1:9eb21e8216f487dd1d81fa1aac4f863fc64f5c8b
コメント
コメントを投稿するにはログインして下さい。