繁体   English   中英

Python 3.3 Reversed()函数和Shell消息含义

[英]Python 3.3 Reversed() function and Shell message meaning

我有以下代码块,我在shell中收到此消息...

“函数word_switch在0x102b67a70”

这是什么意思,为什么Python打印这个而不是返回函数?

谢谢

D= ['foo', 'bar', 'OMG']

def word_switch (D: list) -> list:
    for i in D:
        reversed(i)
    return word_switch

print(word_switch(D))

您需要生成反转列表并返回它,而不是函数本身。 你可以这样做

D = ['foo', 'bar', 'OMG']

def word_switch (D: list) -> list:
    return ["".join(reversed(i)) for i in D]
    #return [i[::-1] for i in D]  # Using slicing

print(word_switch(D))

产量

['oof', 'rab', 'GMO']

这是什么意思? 输出意味着函数word_switch位于该存储器位置。

你为什么得到它? 因为你要求它。 请注意,在定义函数的方式中,当您调用它时,您将获得函数对象本身,然后打印它。

每次打印函数对象时都会发生相同的事情,例如:

>>> def f(x):
...       x
>>> print f
<function f at 0xb72eda3c>
>>>

如果您想要的只是反转列表,您可以简单地使用列表对象的reverse方法,如OP的注释中所建议的那样。 没有必要创建自己的功能。 如果出于某种原因,你需要自己的功能,那么你可以按照@thefourtheye在他的回答中建议的方式来编写它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM