[python] print()函数详解(参数解析+格式化输出(槽函数format式/类c式/f格式化字符串式))

Python小白的第一篇文章,介绍下print()的三种主要写法:

  • 槽函数格式化输出

  • 类C(语言)格式化输出

  • f格式化字符串输出 (Python3.6+版本)

print()标准声明

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

# 实例
print("https://www","baidu","com",sep = ".",end = "/")
# 输出:  https://www.baidu.com/


# *objects的用法

## 槽函数格式化输出
print("输出的字符串{变量:格式要求}".format(变量名,...))
# 注意是用'.'连接,用槽格式和format()方法将变量和字符串结合到一起.

## 类C格式化输出
print("%[格式占位符]"% (内容,...)) # 和C语言类似的语法(不同的是用'%'连接而不是',')

## f格式化字符串输出  Python3.6+
print(f"输出的字符串{变量:格式要求}")

参数解释

  • *objects:可以一次输出多个对象.用","分隔对象

  • sep:用来间隔多个对象,默认值为" "

  • end:用来设定以什么为结尾,默认值为"\n"

  • file:要写入的文件对象,默认值"sys.stdout"即为控制台.

  • flush(Python3.3+):True:流将会被强制刷新,实时输出.比如在通过print()写入文件的过程中,如果flush=false,则直到关闭(.close())文件后,文件的内容才会更新;如果flush = True,文件的内容是实时更新的.

    • 通过测试得出结论:使用flush强制刷新流能够稍微提高程序的书写效率.

字符串格式化符号

符号 描述
%c 格式化字符及其ASCII码
%s 格式化字符串
%d 格式化整数
%o 格式化无符号八进制数
%x(%X) 格式化无符号十六进制数(大写)
%e(%E) 用科学计数法格式化浮点数(大写)
%g(%G) %f和%e(%E)的通用写法,显示由系统选择
%p 用十六进制格式化变量的地址

槽函数格式化输出指令

print('{a:.2f},{b:.2f},{c:.2f}'.format(b = 2,c = 1,a = 0)) #前面可加变量区分
# 0.00,2.00,1.00

print("{0[0]}{1[1]}{2[1]}".format('AB','ab','αβ') )
# Abβ

{}内写法解析

  • {变量名1 : 空位替代符号=''2 对齐符号='<'3 输出字符长度4 . 保留数字5}
语法元素分析 描述
变量名 可以是匿名,也可以取名,实例见上;
也可以使用索引,format内变量从左到右依次排序,由','分隔,通过x[y]的方式访问第x+1个变量中的第y位的值.
空位替代符号 配合输出字符长度格式化输出,默认为空
对齐符号 <是左对齐(默认)
>是右对齐
^是居中对齐
输出字符长度 和类c格式化输出指令中的"m"相同
保留数字 数字x后面不加f或F表示保留有效数字x位
数字x后面加f或F则表示保留x位小数.

类C格式化输出指令

print("%*.*f"%(10,3,3.1415926)) #格式化操作辅助指令——'*'的用法
# 输出:    3.142
符号 描述
m.n m是显示的最小总宽度,n是保留的小数位数
* 定义宽度或小数点精度,从后面的元组中读取字段宽度或精度
- 左对齐
+ 在正数前面显示'+'
在正数前面显示空格
# 在八进制数前面显示0
十六进制前面显示"0x"或"0X"
0 显示的数字前面填充'0'而不是默认的空格
(var) 映射变量(字典参数)

f格式化字符串输出

{}内部的语法和槽函数格式化输出指令完全相同.是Python3.6+的功能,简化代码写法.
另有r和b对字符串的操作,不过和print()输出无关.


参考:上述内容有部分知识点参考https://blog.csdn.net/weixin_44451032/article/details/96591540.

如果print()还有其他的使用方法,欢迎大家评论讨论,疑问之处下方留言,错误之处敬请斧正.

你可能感兴趣的:([python] print()函数详解(参数解析+格式化输出(槽函数format式/类c式/f格式化字符串式)))