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()函数的参数除了要打印的内容之外,还有sependfileflush,而这四个参数都有默认值,因此在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)
posted @ 2022-07-09 10:43  pure3417  阅读(1009)  评论(0编辑  收藏  举报