pythonマルチモジュールが同じグローバル変数を使用する方法

659 ワード

3つのモジュールがあると仮定する:x.py,y.py,z.py呼び出しロジック:
  • z:main関数エントリ、from x import set_video
  • x:ビデオ値の設定
  • y:xから更新されたビデオ値を取得するには、importモジュール方式で
  • x.py
    from y import see_video
    
    video = 0
    
    
    def set_video(in_video):
        global video
        video = in_video
        see_video()
    

    y.py
    import x
    
    
    def see_video():
        print('y see:', x.video)
    

    z.py
    from x import set_video
    
    if __name__ == '__main__':
        for i in range(5):
            set_video(i)
    

    z.pyの実行
    y see: 0
    y see: 1
    y see: 2
    y see: 3
    y see: 4