python系列教程140——print函数详解

朋友们,如需转载请标明出处:blog.csdn.net/jiangjunsho…

声明:在人工智能技术教学期间,不少学生向我提一些python相关的问题,所以为了让同学们掌握更多扩展知识更好地理解AI技术,我让助理负责分享这套python系列教程,希望能帮到大家!由于这套python教程不是由我所写,所以不如我的AI技术教学风趣幽默,学起来比较枯燥;但它的知识点还是讲到位的了,也值得阅读!想要学习AI技术的同学可以点击跳转到我的教学网站。PS:看不懂本篇文章的同学请先看前面的文章,循序渐进每天学一点就不会觉得难了!

从语法上讲,Python 3.0之后的print函数有如下的形式:

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

•sep是在每个对象的文本之间插入的一个字符串,如果没有传递的话,它默认地是一个单个的空格;传递一个空字符串将会抑制分隔符。 •end是添加在打印文本末尾的一个字符串,如果没有传递的话,它默认的是一个换行字符。 •file指定了文本将要发送到的文件、标准流或者其他类似文件的对象;如果没有传递的话,它默认的是sys.stdout。

下面我们展示一些示例。

下面的代码把各种对象类型打印到默认的标准输出流。

C:\misc> c:\python30\python

>>>

>>> print()                 # Display a blank line




>>> x = 'spam'

>>> y = 99

>>> z = ['eggs']

>>>

>>> print(x,y,z)          # Print 3 objects per defaults spam 99 ['eggs']
复制代码

从上面的代码中可以看出调用print函数时不需要提前把对象转换为字符串。默认情况下,print调用在打印的对象之间添加一个空格。要取消这个空格,给sep关键字参数发送一个空字符串,或者发送一个自己所选择的替代分隔符:

>>> print(x,y,z,sep='')         # Suppress separator spam99['eggs']

>>>

>>> print(x,y,z,sep=',')       # Custom separator spam,99,['eggs']
复制代码

默认情况下,print添加一个行末字符来结束输出行。你可以通过向end关键字参数传递一个空字符串来抑制这一点并避免换行,或者可以传递一个自己的不同的终止符:

>>> print(x,y,z,end='')                    # Suppress line break

spam 99 ['eggs']>>>

>>>

>>> print(x,y,z,end=''); print(x,y,z)    # Two prints,same output line spam 99 ['eggs']spam 99 ['eggs']

>>> print(x,y,z,end='...\n')               # Custom line end

spam 99 ['eggs']...

>>>
复制代码

也可以组合关键字参数来指定分隔符和行末字符串——它们可以以任何顺序出现,但是必须出现在所有要打印的对象的后面:

>>> print(x,y,z,sep='...',end='!\n')       # Multiple keywords

spam...99...['eggs']!

>>> print(x,y,z,end='!\n',sep='...')       # Order doesn't matter

spam...99...['eggs']!
复制代码

下面展示了如何使用file关键字——它在打印的过程中,直接把文本打印到一个输出文件或者其他的可兼容对象:

>>> print(x,y,z,sep='...',file=open('data.txt','w'))           # Print to a file

>>> print(x,y,z)                                                  # Back to stdout

spam 99 ['eggs']

>>> print(open('data.txt').read())                                  # Display file text

spam...99...['eggs']
复制代码

Guess you like

Origin juejin.im/post/7048877117169205261