python中输出内容或者打印内容时都是使用print函数,print函数可以以多种形式输出内容,print函数的语法格式如下
print(*object, sep=' ', end='\n', file=sys.stdout, flush=False)
必填参数:
object:表示要输出的对象,可以输出多个对象,多个对象之间用逗号隔开,无论什么类型的数据,包括但不局限于:数值型,布尔型,列表变量,字典变量...都可以直接输出
输出数值型:print(1,2,3,4)
输出布尔型:print(True,False)
输出列表:print(list object)
可选参数:
sep:当输出多个对象时,用来间隔多个对象,默认是空格,也可以改成其他字符,如print(1,2,3,4,sep='&')
end:在输出对象以后结尾处的还需要输出的字符串,默认是end=‘\n’,表示换行符,也就是说如果想让print输出内容后不换行,则只需要改成end=‘’即可
file:表示输出内容到什么地方,默认值为sys.stdout,代表系统标准输出,即默认输出到屏幕。我们可以通过改变该参数使print()函数的内容输出到指定的文件中,如下
输入内容到文件中:
f
=
open
(r
"d:\tt.txt"
,
"w"
)
# 打开文件,以便写入
print
(
'test'
,
file
=
f)
# 输出到文件
f.close()
# 关闭文件
flush:将缓存里面的内容立即输出到标准输出流。用于控制缓存内容输出,一般为了可以获得较好的性能,保持为False即可;
由于print() 函数输出内容时会先把内容读到内存中, 内存中的内容并不一定能够及时刷新显示到屏幕中。 如果使用flush=True之后,会在print结束之后,不管你有没有达到显示条件,都会立即将内存中的东西显示到屏幕上,清空缓存里面的内容,如打开文件并向文件里面写入内容时,文件未关闭f.close()之前,打开的文件里面是看不到写入的内容的,如果这时需要能看到就将flush改为True即可
二、print格式化输出
方式1:基本格式化输出,使用以 %开头的转换说明符对各种类型的数据进行格式化输出,转换说明符(Conversion Specifier)只是一个占位符,它会被后面表达式(变量、常量、数字、字符串等各种形式)的值代替
1)字符串格式化输出
print("my name is %s"% "David")
2)整数格式化输出
print("your age is %d"% 18),
3)浮点数格式化输出
print("your weight is %f"% 100.5)
4)指定小数点后位数格式化输出
print("you weight is %.2f" %100.526)
5)原样输出%r
print ("what's your name? %r" % "my name is maya")
5)指定占位符宽度
print ("my name is: %8s" % "maya")
print ("my name is: %-8s" % "maya") #左侧对齐
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"))
2)占位符指定数字编号,可通过调换数字改变取值
print("名称:{0},地址:{1}".format("maya","beijing"))
调换数字编号后:
print("名称:{1},地址:{0}".format("maya","beijing"))
3)占位符指定关键字,通过关键字取值
print("名称:{name},地址:{address}".format(name="maya",address="beijing"))
三、特别字符输出
方式1:通过转义字符\,
如“ ”里面内容还有其他“ ”,则需要使用\来进行输出
print(”my name is mailand\”s trche”)
方式2:通过r
如果不想“ ”里面的转义字符生效,只想将\当普通字符输出时可以在字符串前面 r
print(r'my name is mailand\'s trche')
方式3:通过'''...'''进行输出
如果要输出的内容有多行时,可以用''' ....'''
print(''''
name:%s
age:%d
salary:%.1f
'''%('Lili',22,3200))