コード
スイッチモジュール
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ではネットから通貨レートの情報をとってきて保持するために使っている.通貨レートを取得する関数は数回呼ばれるが,ネットから取得するのは一回で良いのでこの実装を用いている.