Python 之 print 函数语法格式及各参数详解

1、print语法格式

print() 函数具有丰富的功能,详细语法格式如下:

print(value, …, sep=’ ‘, end=’\n’, file=sys.stdout, flush=False)

默认情况下,将值打印到流或sys.stdout。

可选关键字参数:

  • file:类文件对象(stream); 默认为当前的sys.stdout。
  • sep:在值之间插入的字符串,默认为空格。
  • end:在最后一个值后附加的字符串,默认为换行符。
  • flush:是否强制刷新流。

2、sep可选关键字参数

sep参数可以在值之间插入字符串,默认值为空格。

如:

print('1','2','3','4',sep = "插入")

输出结果:

1插入2插入3插入4

3、file可选关键字参数

        file参数默认值为sys.stdout,代表系统标准输出,即屏幕。我们可以通过改变该参数使print()函数输出到特定的文件中。

如:

f =  open(r"F:\text.txt","w")    # 打开文件,以便写入
print('test',file =)    # 输出到文件
f.close()    # 关闭文件

运行后,可以看到test输出到text.txt文件中。


4、end可选关键字参数

        end 参数默认为"\n"(换行符),如果想在print()函数输出之后输出别的字符串,可以重设 end 参数。

如:

print('1','2',end = "最后")

输出结果:

1 2最后

运行后,我们可以看到,print()函数输出之后不会换行,且在最后一个值后面附加了“最后”。

end 可选关键字参数 还有自动换行的方法

        print 会自动在行末加上回车, 如果不需回车,只需在 print 语句的结尾添加一个逗号 , 并设置分隔符参数 end,就可以改变它的行为。

6. print 不换行

在 Python 中 print 默认是换行的:

>>>for i in range(0,3): 
       print (i)
0
1
2 

要想不换行应该写成 print(i, end = '' )

>>>for i in range(0,3): 
       print (i,end=" ")
0 1 2

5、flush可选关键字参数

flush参数用于控制输出缓存,一般为了可以获得较好的性能,保持为False即可。


Python字符串格式化符号:

    符   号 描述
      %c  格式化字符及其ASCII码
      %s  格式化字符串
      %d  格式化整数
      %u  格式化无符号整型
      %o  格式化无符号八进制数
      %x  格式化无符号十六进制数
      %X  格式化无符号十六进制数(大写)
      %f  格式化浮点数字,可指定小数点后的精度
      %e  用科学计数法格式化浮点数
      %E  作用同%e,用科学计数法格式化浮点数
      %g  %f和%e的简写
      %G  %f 和 %E 的简写
      %p  用十六进制数格式化变量的地址

格式化操作符辅助指令:

符号 功能
* 定义宽度或者小数点精度
- 用做左对齐
+ 在正数前面显示加号( + )
<sp> 在正数前面显示空格
# 在八进制数前面显示零('0'),在十六进制前面显示'0x'或者'0X'(取决于用的是'x'还是'X')
0 显示的数字前面填充'0'而不是默认的空格
% '%%'输出一个单一的'%'
(var) 映射变量(字典参数)
m.n. m 是显示的最小总宽度,n 是小数点后的位数(如果可用的话)

格式化输出16进制,十进制,八进制整数

#%x --- hex 十六进制

#%d --- dec 十进制

#%o --- oct 八进制

>>>nHex = 0xFF
>>> print("nHex = %x,nDec = %d,nOct = %o" %(nHex,nHex,nHex))
nHex = ff,nDec = 255,nOct = 377

格式化输出浮点数(float)

>>> pi = 3.141592653
>>> print('%10.3f' % pi) #字段宽10,精度3
3.142
>>> print("pi = %.*f" % (3,pi)) #用*从后面的元组中读取字段宽度或精度
pi = 3.142
>>> print('%010.3f' % pi) #用0填充空白
000003.142
>>> print('%-10.3f' % pi) #左对齐 
3.142
>>> print('%+f' % pi) #显示正负号
+3.141593

猜你喜欢

转载自blog.csdn.net/leyang0910/article/details/131031390