Help us understand the problem. What is going on with this article?

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

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away