Edited at

実践Python3でやってた簡単なシングルトン

More than 1 year has passed since last update.


コード

スイッチモジュール


switch.py

def push():

push.state = not push.state
return push.state

push.state = False


使う側

In [1]: import switch

In [2]: switch.push()
Out[2]: True

In [3]: switch.push()
Out[3]: False

In [4]: switch.push()
Out[4]: True


やったこと


  • グローバルな状態を持つモジュールswitch.pyを作成する

  • そのモジュールにプライベートな変数を保持させ,変数へのアクセスはパブリックな関数push()で行わせる

これによりプログラムでただ1つの状態を持つグローバルなスイッチができる.実践Python3ではネットから通貨レートの情報をとってきて保持するために使っている.通貨レートを取得する関数は数回呼ばれるが,ネットから取得するのは一回で良いのでこの実装を用いている.