Print() 函数用于打印输出,是python中最常见的一个内置函数。其基本语法为 Print(value, sep=’ ‘, end=’\n’, file=sys.stdout, flush=False) 。因此可见,它主要由4个参数构成。
其中 sep (separate) 代表分隔符,默认为 ’ ’ 和 end = ‘\n’ 默认为自动换行。
file参数必须是一个具有 write(string) 方法的对象;如果参数不存在或为 None,则将使用 sys.stdout,这是一个可选对象,具有写方法的对象。
flush : 这也是可选对象,指定输出是刷新(True)还是缓冲(False),默认值为:False。
让多个 print()函数显示在同一行: 把 end 默认的换行符 \n 改为 空格,输出结果为每个value之间有空格分开。
print('hello', end =' ')
print('world', end =' ')
print('!')
同样,如果写成 end = ‘’ (空字符),输出时每个value就没有任何空格。
sep 使用默认参数时:每个value之间用逗号分隔开,输出结果自动默认转换为空格。
sep 使用自定义: 每个value 之间用 * 连接
打印字符串和数字的组合,大家都应该知道字符串和数字类型拼接时,要把数字类型转换成字符串类型,但我们可以直接通过修改sep的值去实现。
Python对于单引号和双引号其实并没有严格规定,可以习惯用单引号或者双引号,但两边必须要一致,否则会报错。
还有一种就是三引号的用法,可以直接打印一段内容,或者有注释的作用。
多段内容打印输出:
多行注释:
file = sys.stdout的意思是,print函数会将内容打印输出到标准输出流(即 sys.stdout),当然也可以自定义输出流。
其实print函数的默认输出等价于sys.stdout.write(),只是print会自动换行,而stdout需要手动添加转义符"\n"
假如 stdout 后面没有手动添加 ‘\n’, 紧接 print(‘testing’),输出结果,会和 testing显示在同一行,并没有自动换行。
手动添加后,输出结果:
把内容输出到了test.txt文件中,terminal 不会打印任何内容
以上代码,其实相当于用 open()函数,然后写入file。 open() 此时并没有真正把内容写入文件,而是写入了缓冲区。 最后 f.close() 关闭文件,把缓冲区里的内容写入文件。
通过修改 flush = True时,强制把缓冲区里的内容写入文件,不用关闭文件都可以直接写入。
输出到错误输出流sys.stderr, 注意 terminal 输出的内容为红色字体的。
最后简单介绍 Python 中一个特殊符号 ‘\r’, 表示将光标的位置回退到本行的开头位置。以下以打印常见进度条为例子详解它的用法。
调用 ‘\r’ ,可见进度条刚好有9个小方格组成,通过for循环遍历10次,而每次都会自动覆盖之前的进度,因此结果只有9个小方格的进度条。注意 range() 函数是遵从左闭右开原则,因此是9个,而不是10个
如果没有调用 ‘\r’, 结果为 45个小方格,也就是再没有自动重头覆盖的情况下,小方格不断循环叠加,1+2+3…+9 = 45
显示本地实时时间:同样调用 ‘\r’ 实时刷新本地时间
最后,显示带 百分比的进度条,其实和上面的代码大同小异,只需要调用 字符串格式化输出方法就可以。
Print()函数用法实例详解