Python 我如何使用pygame导入来避免';你不会给我一个错误吧?

Python 我如何使用pygame导入来避免';你不会给我一个错误吧?,python,pygame,Python,Pygame,我是python新手,所以我为这个问题背后可能的愚蠢道歉 我有两个正在使用的文件-File1和File2 在File1中定义了变量X,该文件在整个游戏过程中更改X的值,并从File2导入特定对象 在File2中,我有File1 import X中的行,但在该文件中根本不使用变量 点击run会出现一个错误,指出它无法从File2导入函数: ImportError:无法从部分初始化的模块“File2”导入名称“draw\u panel”(很可能是由于循环导入) 如果我不再像以前那样从File1导入特

我是python新手,所以我为这个问题背后可能的愚蠢道歉

我有两个正在使用的文件-
File1
File2

File1
中定义了变量
X
,该文件在整个游戏过程中更改
X
的值,并从
File2
导入特定对象

File2
中,我有File1 import X中的
行,但在该文件中根本不使用变量

点击run会出现一个错误,指出它无法从File2导入函数:

ImportError:无法从部分初始化的模块“File2”导入名称“draw\u panel”(很可能是由于循环导入)

如果我不再像以前那样从
File1
导入特定对象,而是简单地从File2 import*
键入
,那么我的游戏将运行一段时间,直到产生以下错误:

name错误:未定义名称“draw\u panel”


我为这个问题的模糊结构道歉,我愿意接受关于进口的任何其他建议。我只需要能够使用在第一个文件中也被修改过的变量。

您可以将变量从
File2
传递给函数,而不是直接从
File1
导入
x

要实现这一点,您需要在
File1
中执行
File2
中的代码,通过在
File2
中设置一个包含所需的所有函数和变量的类,最容易实现这一点

举一个非常基本的例子:

class TestClass:
    def __init__(self):
        self.test_variable = 2

    def multiply_test_variable(self, x):
        self.test_variable *= x
然后,在
File1
中导入此类,并从中运行代码:

from File2 import TestClass

x = 3

test_object = TestClass()

print(test_object.test_variable)
test_object.multiply_test_variable(x)
print(test_object.test_variable)

在没有实际代码的情况下很难解释或给出示例,但我希望这有助于澄清我的意思。

关于循环导入:您导入一个文件,因此导入会运行该文件,在运行该文件时,它会尝试导入运行该文件的模块,但如果您明白我的意思,则该文件尚未完成导入