簡體   English   中英

導入模塊 python 中的全局變量

[英]Global variables in imported modules python

當全局變量都在一個腳本上時,事情就會順利進行。

def foo():
  global x
  x = 'bar'
  goo()

def goo()
  global x
  print(x)

foo()

將按預期打印bar 但是,當我必須從另一個文件導入goo時,它不起作用,例如

file1.py

from file2 import goo

def foo():
  global x
  x = 'bar'
  goo()

foo()

file2.py

def goo()
  global x
  print(x)

導致NameError x如何像在第一種情況下一樣傳遞給導入的 function 而無需將其作為參數顯式傳遞?

你必須設置 <module_name>.<variable_name> = 'bar' 讓它像這樣工作:

import file2

def foo():
    file2.x = 'bar'
    file2.goo()

foo()

文件1是一樣的

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM