我在使用 python 时遇到问题,需要一些帮助。调用任何函数时,它不再显示输出,而是显示<function hello at 0x0000000002CD2198>
(hello 是函数名)。我已经重新安装了 Python,但问题仍然存在。前几天还好,开始似乎无缘无故地发生了。
我该如何解决这个问题?
您需要调用您的函数,您只打印函数对象本身:
>>> def hello():
... return "Hello World"
...
>>> print hello()
Hello World
>>> print hello
<function hello at 0x1062ce7d0>
注意 thehello
和hello()
行之间的区别。
调用函数 as func()
,调用函数时前面有括号:
>>> def hello():
print "goodbye"
>>> hello() #use parenthesis after function name
goodbye
>>> hello #you're doing this
<function hello at 0x946572c>
>>>hello.__str__()
'<function hello at 0x946572c>'
我猜你打电话hello
过来
hello
试试hello()
吧
只是为了完整起见:
即使hello
实际被调用,当然也可能hello()
只是简单地返回另一个函数。
考虑一下:
def hello():
"""Returns a function to greet someone.
"""
def greet(name):
return "Hello %s" % name
# Notice we're not calling `greet`, so we're returning the actual
# function object, not its return value
return greet
greeting_func = hello()
print greeting_func
# <function greet at 0xb739c224>
msg = greeting_func("World")
print msg
# Hello World