【发布时间】:2012-04-30 15:58:09
【问题描述】:
我有一个类,我希望能够创建该类的多个对象并将它们放在一个数组中。我是这样做的:
rooms = []
rooms.append(Object1())
...
rooms.append(Object4())
然后我有一个函数字典,我想将对象传递给函数。但是,我遇到了一些问题。例如,我有一个字典:
dict = {'look': CallLook(rooms[i])}
不过,我可以将它传递给函数;在函数中,如果我尝试调用对象方法,它会给我带来问题
def CallLook(current_room)
current_room.examine()
我确信必须有更好的方法来做我想做的事情,但我是 Python 新手,我还没有看到一个关于如何做到这一点的干净示例。任何人都有实现要传递给函数的对象列表的好方法吗?所有对象都包含检查方法,但它们是不同类的对象。 (对不起,我之前没有这么说)
具体错误状态:TypeError: 'NoneType' object is not callable
【问题讨论】:
-
与其让我们猜测您可能遇到的问题,不如向我们解释问题会更容易。更好的是,发布错误消息或不良行为。
-
假设
Object1()等都具有.examine方法,这看起来很好。这些实例是否都应该是不同的类? -
如果您收到该错误,则该代码不准确。
-
在您的代码中,您正在创建不同类的不同对象。
-
dict的目的是什么。附言。不要使用dict作为变量名,因为它会影响内置的dict
标签: python function object dictionary