print在Python3变成了函数吗

发布时间:2020-07-02 14:02:44 作者:清晨
来源:亿速云 阅读:145

这篇文章将为大家详细讲解有关print在Python3变成了函数吗,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

原理阐述

print 语句 早就被列在了不可靠的语言特性列表中,例如 Guido 的“Python 之悔”(Python Regrets)演讲【1】,并计划在 Python 3000 版本移除。因此,本 PEP 的目的并不新鲜,尽管它可能会在 Python 开发人员中引起较大争议。

以下对 print() 函数的争议是提取自 Guido 本人的 Python-3000 消息【2】:

设计规格

print() 的书写方式取自各种邮件,最近发布在 python-3000 列表里的是【3】:

def print(*args, sep=' ', end='\n', file=None)

调用像:

print(a, b, c, file=sys.stderr)

相当于当前的:

print >>sys.stderr, a, b, c

可选的 sep 与 end 参数相应地指定了每个打印参数之间及之后的内容。

softspace 功能(当前在文件上的半秘密属性,用于告诉 print 是否要在第一个条目前插入空格)会被删除。因此,当前版本的以下写法不能被直接转换:

print "a",print

它不会在“a”与换行符之间打印一个空格。

(译注:在 3.3 版本,print() 函数又做了改动,增加了默认参数 flush=False)

向后兼容性

本 PEP 中提出的改动将致使如今的 print 语句失效。只有那些恰好用括号包围了所有参数的写法才能在 Python 3 版本中生效,至于其它,只有加上了括号的值才能保持原样打印。例如,在 2.x 中:

>>> print ("Hello")Hello
>>> print ("Hello", "world")
('Hello', 'world')

而在 3.0 中:


>>> print ("Hello")Hello
>>> print ("Hello", "world")
Hello world

幸运的是,因为 print 是 Python 2 中的一个语句,所以它可以被通过自动化工具而检测到,并可靠而精确地替换掉,因此应该没有重大的移植问题(如果有人来写这个工具的话)。

实现

更改将在 Python 3000 分支中实现(修订版从 53685 到 53704)。大多数在维库代码(legacy code)已经做转换了,但要抓出发行版本中的每个 print 语句,还需要持续不断地努力。


关于print在Python3变成了函数吗就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

推荐阅读:
  1. python3的print()函数的用法图文讲解
  2. print函数在Python3与python2中有什么区别

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

python3 print 成了

上一篇:C# Linq简介

下一篇:python3中定义数组的方法

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》