一、print函数简介

python中输出内容或者打印内容时都是使用print函数,print函数可以以多种形式输出内容,print函数的语法格式如下

 

print(*object, sep=' ', end='\n', file=sys.stdout, flush=False)

 

必填参数:

object:表示要输出的对象,可以输出多个对象,多个对象之间用逗号隔开,无论什么类型的数据,包括但不局限于:数值型,布尔型,列表变量,字典变量...都可以直接输出

输出数值型:print(1,2,3,4)

python基础-print打印_浮点数

输出布尔型:print(True,False)

python基础-print打印_字符串_02

输出列表:print(list object)

python基础-print打印_字符串_03

可选参数:

sep:当输出多个对象时,用来间隔多个对象,默认是空格,也可以改成其他字符,如print(1,2,3,4,sep='&')

python基础-print打印_带符号_04

end:在输出对象以后结尾处的还需要输出的字符串,默认是end=‘\n’,表示换行符,也就是说如果想让print输出内容后不换行,则只需要改成end=‘’即可

python基础-print打印_带符号_05

file:表示输出内容到什么地方,默认值为sys.stdout,代表系统标准输出,即默认输出到屏幕。我们可以通过改变该参数使print()函数的内容输出到指定的文件中,如下

输入内容到文件中:

= open(r"d:\tt.txt","w")    # 打开文件,以便写入

print('test',file = f)  # 输出到文件

f.close()   # 关闭文件

python基础-print打印_浮点数_06

 

 

 

flush:将缓存里面的内容立即输出到标准输出流。用于控制缓存内容输出,一般为了可以获得较好的性能,保持为False即可;

           由于print() 函数输出内容时会先把内容读到内存中, 内存中的内容并不一定能够及时刷新显示到屏幕中。 如果使用flush=True之后,会在print结束之后,不管你有没有达到显示条件,都会立即将内存中的东西显示到屏幕上,清空缓存里面的内容,如打开文件并向文件里面写入内容时,文件未关闭f.close()之前,打开的文件里面是看不到写入的内容的,如果这时需要能看到就将flush改为True即可

 

二、print格式化输出

方式1:基本格式化输出,使用以 %开头的转换说明符对各种类型的数据进行格式化输出,转换说明符(Conversion Specifier)只是一个占位符,它会被后面表达式(变量、常量、数字、字符串等各种形式)的值代替

1)字符串格式化输出

print("my name is %s"% "David")

python基础-print打印_字符串_07

2)整数格式化输出

print("your age is %d"% 18),

python基础-print打印_浮点数_08

3)浮点数格式化输出

print("your weight is %f"% 100.5)

python基础-print打印_占位符_09

4)指定小数点后位数格式化输出

print("you weight is %.2f" %100.526)

python基础-print打印_字符串_10

 

 5)原样输出%r

print ("what's your name? %r" % "my name is maya")

python基础-print打印_字符串_11

 

 5)指定占位符宽度

print ("my name is: %8s" % "maya")     

python基础-print打印_格式化输出_12

print ("my name is: %-8s" % "maya")     #左侧对齐

python基础-print打印_字符串_13

6)其他转换说明符

 

转换说明符 解释
%d、%i 转换为带符号的十进制整数
%o 转换为带符号的八进制整数
%x、%X 转换为带符号的十六进制整数
%e 转化为科学计数法表示的浮点数(e 小写)
%E 转化为科学计数法表示的浮点数(E 大写)
%f、%F 转化为十进制浮点数
%g 智能选择使用 %f 或 %e 格式
%G 智能选择使用 %F 或 %E 格式
%c 格式化字符及其 ASCII 码
%r 使用 repr() 函数将表达式转换为机器方便识别的字符串
%s 使用 str() 函数将表达式转换为字符串

 

方式2:format()

format是一个格式化字符串的函数 str.format(),它通过{}来代替之前的%占位符,format 函数可以接受不限个参数,位置可以不按顺序,但是要和前面的{}一一对应上才能取到对应的值

1)占位符不指定编号,取值按顺序

print("名称:{},地址:{}".format("maya","beijing"))

python基础-print打印_字符串_14

 

 

2)占位符指定数字编号,可通过调换数字改变取值

print("名称:{0},地址:{1}".format("maya","beijing"))

python基础-print打印_带符号_15

 

 调换数字编号后:

print("名称:{1},地址:{0}".format("maya","beijing"))

python基础-print打印_浮点数_16

 

3)占位符指定关键字,通过关键字取值

print("名称:{name},地址:{address}".format(name="maya",address="beijing"))

python基础-print打印_格式化输出_17

 

 

三、特别字符输出

方式1:通过转义字符\,

如“ ”里面内容还有其他“ ”,则需要使用\来进行输出

print(”my name is mailand\”s trche”)

python基础-print打印_格式化输出_18

方式2:通过r

如果不想“ ”里面的转义字符生效,只想将\当普通字符输出时可以在字符串前面 r

print(r'my name is mailand\'s trche')

python基础-print打印_格式化输出_19

方式3:通过'''...'''进行输出

如果要输出的内容有多行时,可以用''' ....''' 

print(''''

name:%s

age:%d

salary:%.1f

'''%('Lili',22,3200))

python基础-print打印_浮点数_20