Python中print()函数的用法详情
描述
print()
方法用于打印输出,最python中常见的一个函数。
在交互环境中输入help(print)
指令,可以显示print()函数的使用方法.
>>> help(print)
Active code page: 65001
Help on built-in function print in module builtins:
print(...)
print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
Prints the values to a stream, or to sys.stdout by default.
Optional keyword arguments:
file: a file-like object (stream); defaults to the current sys.stdout.
sep: string inserted between values, default a space.
end: string appended after the last value, default a newline.
flush: whether to forcibly flush the stream.
常用方法
打印单个内容
从help(print)
指令输出内容可以看出,print()
函数的第一个参数是value
,即要打印的内容。
通过print()
打印单个内容
print()
可以直接直接输出字符串、数值。也可以输出变量,无论什么类型,数值,布尔,列表,字典...都可以直接输出
>>> a = 1
>>> print(a)
1
打印多个内容
从help(print)
指令可以看出,print()
函数的第一个参数是...
,表示print()
函数要打印的多个内容。
>>> print(a, b, c)
1 2 3
参数
从help(print)
指令输出内容可以看出,print()
函数的参数除了要打印的内容之外,还有sep
、end
、file
和flush
,而这四个参数都有默认值,因此在print()的基本使用中,无需指定这几个参数。
sep
参数
sep
参数指定了print()
函数在打印多个内容时,内容之间的分隔符。从help(print)
指令输出内容中可以看出,sep
的默认值是空格,因此打印多个内容中打印出来的a、b和c的值都是用空格来分隔的。
可以通过指定sep
的值来指定分隔符
>>> print(a, b, c, sep=",") # 参数sep的值是“,”,表示a、b和c的值都是用“,”来分隔的。
1,2,3
end
参数
end
参数指定了print()
函数在打印完内容之后,用什么符号来表示结尾,默认值是\n
。\n
表示换行符号,即print()
函数在打印完内容之后,就会换行。
>>> i = 5
>>> while i>0:
... print(i)
... i -= 1
...
5
4
3
2
可以通过end
参数,用其他符号表示print()
输出完成
>>> i = 5
>>> while i>0:
... print(i, end=",") # end参数指定为,
... i -= 1
...
5,4,3,2,1,
file
参数
file
参数指定了流对象,也就是类似文件的对象,其默认值是sys.stdout
。其中sys模块提供了一系列有关Python运行环境的变量和函数,stdout是sys模块的一个类文件对象,表示标准的输出对象,默认为电脑屏幕。
>>> print(1)
1
file
参数的值也可以是具体的某个文件
>>> f = open("G:\Desktop\demo.txt", "w") # 打开一个文件
>>> print("hello", file=f)
>>> f.close() # 关闭文件
>>>
从上面代码可以看出,电脑屏幕并没有输出内容,打开demo.txt你会发现文件内多了一行内容
flush
参数
flush
参数指定了是否强制刷新流对象,这里的流对象指的是file
参数的值。flush
参数的默认值是False,不强制刷新流对象。
在cmd中运行下面代码,你会发现明显的区别
不强制刷新
import time
print("-------------")
print("loading", end="")
for i in range(20):
print(".", end="")
time.sleep(0.5)
强制刷新
import time
print("-------------")
print("loading", end="")
for i in range(20):
print(".", end="", flush=True)
time.sleep(0.5)