Python函数不返回预期的结果

时间:2014-02-24 10:37:14

标签: python list function return

我的功能遇到了一些麻烦。而不是所需的列表 返回,我得到的东西看起来像一个内存地址。这将是非常好的 如果有人能指出我哪里出错了。

这是代码

def listing():
    t = [1, 2, 3, 4, 5]
    return t

m = listing
print m

以下是我在命令行上的内容。

<function listing at 0x7f6d5f9f5a28>

3 个答案:

答案 0 :(得分:5)

您忘记致电该功能:

m = listing()

如果没有(),你所做的就是存储对函数对象的另一个引用。

答案 1 :(得分:2)

使用函数调用

m = listing()

答案 2 :(得分:1)

您可能习惯于不需要括号来调用函数的语言。想到Perl和Visual Basic。看看这个:

>>> def listing():
...     t = [1, 2, 3, 4, 5]
...     return t
...
>>> m = listing
>>> print m
<function listing at 0x100491b90>
>>> m()
[1, 2, 3, 4, 5]
>>>

因此,您的行m = listing刚刚将该函数(listing引用的内容)分配给另一个名称(m)。对象可以包含任意数量的名称。功能也是对象。可以使用运算符()调用的对象。

顺便说一句:

>>> listing
<function listing at 0x100491b90>

有点证明了这一点......