種別[gsm] 2021-02-20T12:54:35Z
セクショングローバル共有メモ
日時2021-02-20T12:54:35Z
元URL(URLなし)

Python。別のモジュールのグローバル変数は基本代入できないのだね。…

jrf> Python。別のモジュールのグローバル変数は基本代入できないのだね。

t1.py のモジュールで Q というグローバル変数が定義されてると思いねい。

import t1
from t1 import Q

if __name__ == '__main__':
    global Q
    t1.Q = 1
    Q = 2
    print(t1.Q, Q)

とすると

1 2

と表示される。t1 側で print(Q) すると、t1.Q の値が表示される。だからグローバル変数を使いたいときは、from t1 import Q とするよりは t1.Q で常に参照したほうがいいみたい。

ただ、Q に直接の代入をしない(Q のメンバにしか代入しない… Q.a = 1 とか)なら、from t1 import Q でもいいみたい。