【发布时间】:2020-04-26 19:19:39
【问题描述】:
这是我的问题:我想要 2 个单个对象来引用和更新彼此的属性。
所以,我尝试这样做(我正在下棋):
# white.py
class White(object):
...
def move_white_piece(self):
from black import Black
black_object = Black()
# ...
我在函数内部导入的原因是,如果不这样做,就会发生循环依赖(即,自从首先声明了 White 以来,White 还不知道 Black)。这修复了 AttributeError(现在定义了类)。但是,这带来了一个新问题,现在我每次都在函数内部使用一个新对象(因此不是当前属性)。我需要在整个程序中使用单个对象。这可能吗?
由于前向声明和原型,我在 C++ 中从未遇到过这个问题。
【问题讨论】:
-
附带说明:
Black是类的名称。然后实例化该类的一个实例并将其分配给名为Black的变量,从而重新定义Black的含义。这将是您将创建的Black类的最后一个对象。你明白我的意思吗?类名通常大写,变量名通常以小写开头。如果您遵循该约定,您将避免 那个 问题。 -
是的,已更改以解决混淆问题。
-
看我的回答;我只为整个程序运行创建一个黑色块。