Python 打印函数在解释器中获得意外输出?

标签 python

我在名为 seta.py 的文件中包含以下内容:

def print_name():
    print "hello"

我正在通过解释器执行以下操作:

import seta

然后

seta.print_name

我希望输出是“hello”,但它如下所示:

<function print_name at 0x7faffa1585f0>

我做错了什么?

最佳答案

调用一个函数你需要添加():

seta.print_name()

否则它将打印该函数对象的 str/repr 版本。

演示:

def func():
    print "Hello, World!"
>>> func                         #Returns the repr version of function object
<function func at 0xb743cb54>
>>> repr(func)
'<function func at 0xb743cb54>'
>>> print func                   #Equivalent to `print str(func)`
<function func at 0xb743cb54>

>>> func()                       #Eureka!
Hello, World!

关于Python 打印函数在解释器中获得意外输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17558866/

相关文章:

python - Matplotlib:极坐标等高线图颜色条上的固定边界

python - 我的异常(exception)有什么问题?

python - 使用 pyscreenshot 截图

python - 将 try/except 的 except 部分分离到函数中

python - 带有reportlab的编号段落

python - 如何从 Pandas DataFrame 中提取值,而不是 Series(不引用索引)?

python - 如何处理多维的纬度/经度数组?

python - App Engine Python 模块基本和手动缩放不起作用

python - 授予 AWS Lambda 列出所有 SNS 主题的权限

python - 如何从命令行使用 Scrapy 传递表单数据?