gpt4 book ai didi

python 的 print 函数不完全是一个普通的函数?

转载 作者:行者123 更新时间:2023-11-28 19:40:51 24 4
gpt4 key购买 nike

环境:python 2.x

如果 print 是内置函数,为什么它表现得像其他函数? print 有什么特别之处?

-----------start session--------------
>>> ord 'a'
Exception : invalid syntax
>>> ord('a')
97
>>> print 'a'
a
>>> print('a')
a
>>> ord
<built-in function ord>
>>> print

-----------finish session--------------

最佳答案

简短的回答是,在 Python 2 中,print 不是一个函数,而是一个 statement。 .

在所有版本的 Python 中,几乎一切都是对象。所有对象都有一个类型。我们可以通过应用 type 来发现对象的类型对象的函数。

使用解释器我们可以看到内置函数 sumord正是 Python 的类型系统中的内容:

>>> type(sum)
<type 'builtin_function_or_method'>
>>> type(ord)
<type 'builtin_function_or_method'>

但是下面的表达式甚至不是有效的 Python:

>>> type(print)
SyntaxError: invalid syntax

这是因为名称print 本身就是一个关键字,如ifreturn。关键字不是对象。

更完整的答案是 print 可以是语句或函数,具体取决于上下文。

在 Python 3 中,print 不再是语句而是 function .

在 Python 2 中,您可以将模块中的 print 语句替换为 equivalent Python 3 的 print 函数,方法是在模块顶部包含以下语句:

from __future__ import print_function

此特殊导入仅适用于 Python 2.6 及更高版本。

请参阅我的回答中的文档链接以获得更完整的解释。

关于python 的 print 函数不完全是一个普通的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5741598/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com