Python3.X中的print

一直是用Python2.X,学习,做项目,差不多10来年了,突然发现慢慢2.X接近淘汰了,到2020,官方不再支持2.X;以后要使用Python3.X了。 虽然2与3大多相同,差别不大,但有些还是有不小差别的,比如说print语句

在Python2.X中,print是语句,拥有自己的特定语法

在Python3.X中,print是函数,准确的说是内置函数,用关键字参数来表示特定模式

在Python3.X中,print是个内置函数,是个返回值为None的函数。

>>> s = 'spam'
>>> x = print(s)
spam
>>> print(x)
None
区别于2.x,既然是函数调用的时候就必须print(),虽然可赋值给一个变量,但返回值为None.

通用格式:

print([object, ...][, sep=' '][, end='\n'][, file=sys.stdout])

[]是可选的,并且=后面的值都给出了参数的默认值。sep用于分隔要打印的对象, end用于打印的结尾; 都打印到文件流file中,默认是系统输出sys.stdout中; 通用的用法:

>>> x = 'book'
>>> y = 42
>>> z = ['$']
>>> print(x, y, z)
book 42 ['$']
如果需要在打印对象之间加分隔符,可以使用sep参数:

>>> x = 'book'
>>> y = 42
>>> z = ['$']
>>> print(x, y, z, sep=' ')    # 使用空格来分隔
book 42 ['$']
>>> print(x, y, z, sep=',')    # 使用逗号来分隔
book,42,['$']
>>> print(x, y, z, sep='')     # 无任何分隔
book42['$']
如果需要在字符中外添加结尾,可以使用end参数

>>> x = 'book'
>>> y = 42
>>> z = ['$']
>>> print(x, y, z, sep=',', end='\n')
book,42,['$']
>>> print(x, y, z, sep=',', end='...!\n')
book,42,['$']...!
>>> print(x, y, z, end='...!\n', sep=' ')
book 42 ['$']...!
如果需要将字符串写入文件,则可以使用file参数

>>> x = 'book'
>>> y = 42
>>> z = ['$']
>>> import sys
>>> print(x, y, z, sep=',', end='...!\n', file=sys.stdout)       # 默认输出到屏幕中
book,42,['$']...!
>>> print(x, y, z, sep=',', end='...!\n', file=open('FILE','w')) # 输出到文件FILE中
>>> print(open('FILE', 'r').read())                              # 将写入文件读出
book,42,['$']...!
sep, end, file这个参数构成了Python3.X中的最有特色的部分,看起来代码清晰,功能很强大。Python3.X中同样可以执行字符串格式化操作:

>>> text = '%s: %-.4f, %05d' % ('RESULT', 3.14159, 42)
>>> print(text)
RESULT: 3.1416, 00042
>>> print('%s: %-.4f, %05d' % ('RESULT', 3.14159, 42))
RESULT: 3.1416, 00042
>>> 
可以看出Python2.X中有的,在3.X,并且附带增加了分隔符(sep=),结尾符(end=),文件输出流(file=),可谓功能非常之强大!






你可能感兴趣的:(【编程语言】)