Python 3.x 如何返回类变量内部的所有值?

Python 3.x 如何返回类变量内部的所有值?,python-3.x,Python 3.x,我正在用Python编写一个文本冒险游戏,我很好奇如何列出Room类中的所有项目 我对Python非常陌生,而且实践非常有限 # Declaring items and assigning them rooms dingus = Item("Dingus", "This really dings.") room["garden"].add_item(dingus) flippers = Item("Flippers", "Webbed in nature.") room["garden"].a

我正在用Python编写一个文本冒险游戏,我很好奇如何列出Room类中的所有项目

我对Python非常陌生,而且实践非常有限

# Declaring items and assigning them rooms

dingus = Item("Dingus", "This really dings.")
room["garden"].add_item(dingus)
flippers = Item("Flippers", "Webbed in nature.")
room["garden"].add_item(flippers)

# Declare all the rooms

room = {
    'garden':   Room("Garden",
                 """The flowers are blooming wonderfully. To the south lies a dark path.""")
}


class Room:

    def __init__(self, title, description):
        self.title = title
        self.description = description
        self.items = []
        self.items_in_room = ''

    def __repr__(self):
        print(f"-" * 40)
        return (f"You are at the {self.title}.")

    def add_item(self, item):
        return self.items.append(item)

    def list_items_in_room(self):
        for item in self.items:
            self.items_in_room += item
        ', '.split(self.items)
        return self.items


class Item:
    def __init__(self, name, description):
        self.name = name
        self.description = description

    def __str__(self):
        return f'{self.name} - {self.description}' + '\n' + "-" * 40

我正在等待Room.list\u items\u in \u Room以逗号分隔的字符串列出房间中的所有项目。

我已重新排列了您的代码,并更改了函数
list\u items\u in \u Room
。此外,我还将
\uuuuu str\uuuuu
函数更改为
\uuuu repr\uuuu
,并删除了
'-'*40
(我不明白为什么会出现这种情况)

输出:

[Dingus - This really dings., Flippers - Webbed in nature.]

您是否按照此处显示的顺序执行此代码?我想你必须先定义你的类,然后是房间
room
dict,然后是顶层代码。我不是,我只是复制了我认为重要的东西。我对命令毫不在意。我盯着这个屏幕看的时间似乎有点太长了。这对我来说很有效,谢谢。我现在正在读关于能手和二传手的书。到底出了什么问题?是str方法吗?我不知道,直到你发布你的错误。一件显而易见的事情是执行代码块的顺序。在尝试创建相应的对象之前,未定义这些类。另外,我不明白为什么要创建一个包含项目列表的字符串变量。我自由地将它改为repr并删除了字符串变量
[Dingus - This really dings., Flippers - Webbed in nature.]