我遇到了python的问题,需要一些帮助。调用任何函数时,它不再显示输出,而是显示<function hello at 0x0000000002CD2198>
(hello是函数名)。我重新安装了Python,但问题仍然存在。前几天很好,开始似乎没有理由发生。
我该如何解决这个问题?
答案 0 :(得分:8)
你需要调用你的函数,你只打印函数对象本身:
>>> def hello():
... return "Hello World"
...
>>> print hello()
Hello World
>>> print hello
<function hello at 0x1062ce7d0>
请注意hello
和hello()
行之间的差异。
答案 1 :(得分:4)
将函数调用为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>'
答案 2 :(得分:2)
我猜你通过
打电话给hello
hello
尝试使用hello()
答案 3 :(得分:1)
为了完整起见:
即使实际调用了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