为了账号安全,请及时绑定邮箱和手机立即绑定

创建类的实例时可以调用类的实例吗?

创建类的实例时可以调用类的实例吗?

holdtom 2022-11-01 14:58:57
我正在尝试编写文本冒险。我为房间内的对象创建了一个类。在下面的代码中,self.door = Object("Door", "There is an {} door in the north.".format("closed" if self.door.openstate == False else "open"), True, False, door_text, True, False)我希望立即检测门是打开还是关闭,并相应地更改描述。我知道上面的代码肯定是错误的,但是有没有办法呢?
查看完整描述

1 回答

?
繁华开满天机

TA贡献1816条经验 获得超4个赞

我不是 100% 确定这是否会回答你的问题,但我认为你需要为你的门创建一个单独的类。我假设你有这样的房间课程:


class Room:


    def __init__(self):

        self.door = your_code_here

您可能需要做的是创建一个门类,例如:


class Door:


     def __init__(self, door_state):

         self.door_state = door_state


     @property

     def door_text(self):

         door_state = 'open' if not self.door_state else 'closed'

         return f"There is an {door_state} in the north"

然后你的 Room 类将如下所示


class Room:


    def __init__(self):

        self.door = Door(False)

最后,如果你运行类似的东西


r = Room()

print(r.door.door_text)

您应该看到正确的输出值。


查看完整回答
反对 回复 2022-11-01
  • 1 回答
  • 0 关注
  • 102 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信