微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何以不给我错误的方式使用 pygame 导入?

如何解决如何以不给我错误的方式使用 pygame 导入?

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

我有两个文件正在使用 - File1File2

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

File2 中,我有一行 from File1 import X,但在该文件中根本没有使用变量。

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

ImportError: cannot import name 'draw_panel' from partially initialized module 'File2' (most likely due to a circular import)

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

NameError: name 'draw_panel' is not defined

我为这个问题的模糊结构道歉,我愿意接受任何关于导入的替代建议。我只需要能够使用也在第一个文件中更改的变量。

解决方法

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

要实现这一点,您需要在 File2 中执行 File1 中的代码,这可以通过在 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)

如果没有您的实际代码,很难解释或给出示例,但我希望这有助于使我的意思更清楚。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。