Python で関数内の静的変数を定義する2020年04月07日 11時24分55秒

静的変数は一定のスコープ内で変数を共有する変数。広域でどこからも使える様にしたり、クラス内で使い、クラスの各々のインスタンスから共有できるようにして使う。関数内で定義をすると、関数が複数回に渡って呼ばれたときに、値を共有できる。

Python だと、「関数名.変数名」で定義できる。関数の名前を先に定義する必要があるので、静的変数の初期値が後置になってしまう。

#!/usr/local/bin/python

def increment():
    increment.count += 1
    print( increment.count )
increment.count = 3

increment()
increment()
実行結果は、4 と 5 を出力する。
% ./function_static_variable.py
4
5

次回