调用函数时返回什么类型的对象

时间:2013-12-02 23:02:04

标签: python python-2.7

`我编写了一个返回字典的函数,然后在另一个函数中调用此函数,以使用键x获取值:

def buildCoder():
    return dict

def apply():
    coder=buildCoder()
    new+=coder[x]
    return new

为什么我会收到一条错误消息,指出编码器是一个函数对象,因此没有属性__getitem__

2 个答案:

答案 0 :(得分:1)

您正在返回内置函数dict

>>> dict()
{}

因此buildCoder正在返回一个函数。这会在coder[x]处给您错误,因为coder现在是一个函数,并且没有__getitem__属性。

答案 1 :(得分:1)

使用return dict时,实际上会返回Python用于创建 a dict的函数。使用return dict()返回字典。