Pythonでグローバル変数を扱う際、いくつかの問題があります。例えば、関数内からグローバル変数を書き換える場合、使用前にglobal
で変数を宣言しなければならない。また、モジュール間でグローバル変数を共有したい場合も、思うようにいきません。
これらの問題を解決するために、global_value.py
という中身が空っぽのファイルを作成し、それをg
としてimportします。そして、グローバル変数をg.val1
のように使用します。この方法を用いると、global
の宣言は一切必要なくなり、g.
をつけた変数はグローバル変数として扱えるようになります。
以下に具体的なコードを示します。
# global_value.py
# このファイルは空です
# my_function.py
import global_value as g
def func1():
g.val1 = 1
# main.py
import my_function
import global_value as g
def main():
func1()
print(g.val1)
このようにすることで、グローバル変数の扱いが容易になります。また、この変数は他のモジュールからでも、クラス内からでも自由にアクセスできます。変数名はやや冗長になりますが、ローカルとグローバルを明示する前置詞として働くため、プラスの効果も大きいと思います。
以上がPythonでグローバル変数を効率的に扱う方法です。この方法が皆さんのお役に立てば幸いです。.