Python グローバル変数 global変数

投稿者: | 2017年3月13日

global変数のやり方がいまいち良く分かっていない。

main()の外で変数の定義をすればよいのだろうか・・・

 

#!/usr/bin/env python
# -*- coding: utf-8 -*-


a = 1

def main():


    def y():
        global a
        print(a)

    b = 1

    def x():
        global b
        print(b)

    y()
    x()


if __name__ == '__main__':
    main()

 

Traceback (most recent call last):
  File "C:/Users/devel.MASTRE/PycharmProjects/Tkinter/test2.py", line 27, in <module>
    main()
  File "C:/Users/devel.MASTRE/PycharmProjects/Tkinter/test2.py", line 23, in main
1
    x()
  File "C:/Users/devel.MASTRE/PycharmProjects/Tkinter/test2.py", line 19, in x
    print(b)
NameError: name 'b' is not defined

Process finished with exit code 1

この書き方だとaはグローバル関数になっていて、bは定義されていない。

変数はどこで定義すればいいのだろう?

Pocket

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください