我对 Python 比较陌生,在导入变量以在另一个类中使用它时遇到了一些麻烦。我确实查看了有关该主题的其他几个问题并试图使其发挥作用,但似乎我早期设置该程序的方式可能是问题所在。我会简化正在发生的事情,所以要阅读的内容更少......
服务器.py:
import Game
class Server():
def __init__(self):
# Server connection details here
self.test = 5
self.game = Game()
def serve(self):
# Client processing, etc.
self.game.game_loop()
if __name__ == "__main__":
server = Server()
server.serve()
游戏.py:
class Game():
def __init__(self):
# Other variables...
def game_loop(self):
# To reference server's instance variables
from Server import server
print test
在此示例中,我尝试从 Server 的服务器实例中引用变量“test”。值得注意的是,如果我将两个类放在同一个文件中,然后删除它末尾的 if 语句,这确实有效……但我宁愿没有一个文件那么长:)
由于它们位于单独的文件中,因此如果不删除 Server.py 中的 if 语句,我将无法从“服务器”获取实例变量。当我删除它时,由于我正在做的其他事情,我得到了套接字错误......我需要让它只有一个服务器对象(并且它的类只被“调用”一次),但它'能够在每次运行时引用这些实例变量而不将它们传递给我的 Game 类真的很方便......
部分原因肯定是我的错,因为我设置了错误的程序......但我太过分了,无法重新开始。有什么方法可以进行这种设置并读取这些变量吗?