簡體   English   中英

未定義全局名稱“ test”

[英]global name 'test' is not defined

我有兩個文件.py文件A和B,

使用文件B中的方法的文件A和使用文件A中的方法的文件B

文件A

from file_b import *

def abc():
# something
   cba()

文件B

from file_a import *

def cba():
# something
   abc()

如果我嘗試為文件A運行腳本,則會收到錯誤消息

未定義全局名稱“ cba”

如果我將進口更改為:

import file_a

file_a.abc()

我的腳本正常工作

可以從file_a import *使用嗎?

我做錯什么了嗎?

我有3個Python PyGame文件。

  1. settings.py
  2. sprites.py
  3. game.py

在設置中,我有全局變量和其他一些有用的常量。 如果我使用以下命令將設置導入到sprites文件中

from settings import *

然后在我的主文件game.py中,我只導入了精靈。 如果我用

from sprites import *

然后我還要設置精靈和設置文件的內容。 如果我要說

from sprites import player
from sprites import enemy

那么即使將設置導入到該NameSpace ...或文件中,我也不會獲得設置的內容。 如果我想訪問表示我game.py文件中顏色的元組,則必須導入它們。

我希望這可以解決您遇到的問題,或者可以更好地了解發生這種情況的原因(如第一條評論中所述),它是一種循環參考。

暫無
暫無

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

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