[Python3 填坑] 001 格式化符号 & 格式化操作符的辅助指令

  • 挖坑时间:2019/01/08
  • 明细
坑的编码内容
Py004-6Python 格式化符号 & 举例
Py004-7Python 格式化操作符的辅助指令 & 举例


2. 开始填坑

2.1 Python 格式化符号表

  • 源于 C,很多编程语言都适用
符号释义
%c1) 格式化字符
2) c 仅小写
%s格式化字符串
详见 [Python3] 004 字符串的基本使用 的 "4.2.1"
%d格式化整数
详见 [Python3] 004 字符串的基本使用 的 "4.2.2"
%o1) 格式化无符号八进制数
2) o 仅小写
%x1) 格式化十六进制数
2) x 不区分大小写
%f1) 格式化浮点数字,可指定小数点后的精度
2) 指定方式见 "2.2" 辅助指令表
%e1) 用科学计数法格式化浮点数
2) e 不区分大小写
%g1) 根据值的大小决定使用 %f 或 %e
2) g 不区分大小写


举例说明

(1) %c

# 例 1
>>> print('%C' % 97)    # 此处 C 大写了
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: unsupported format character 'C' (0x43) at index 1
>>> 
# 例 2
>>> print('%c' % 97)    # 此处 c 为小写
a
>>> 


(2) %s 与 %d


(3) %o

# 例 3
>>> print("%d 的八进制为 %o" % (100, 100))   # o 若用大写,例 1 就是下场
100 的八进制为 144
>>> 


(4) %x

# 例 4
>>> print("%d 的十六进制为 %x" % (100, 100))
100 的十六进制为 64
>>> print("%d 的十六进制为 %X" % (200, 200))
200 的十六进制为 C8
>>> 


(5) %f

# 例 5
# 浮点数默认精确到小数点后 6 位  
>>> print("%f" % 3.14)                      # 不够添零
3.140000
>>> print("%f" % 3.14159265)                # 若超出,四舍五入精确到小数点后 6 位
3.141593
>>> 


(6) %e

# 例 6
>>> print("一个天文单位 %fkm 用科学计数法表示为 %ekm" % (149597871, 149597871))
一个天文单位 149597871.000000km 用科学计数法表示为 1.495979e+08km
>>> print("如果你喜欢 E:%Ekm" % 149597871)
如果你喜欢 E:1.495979E+08km
>>> 


(7) %g

# 例 7
>>> print("%g 这个数交给 Python" % 1.496)
1.496 这个数交给 Python
>>> print("%g 这个数也交给 Python" % 149597871)
1.49598e+08 这个数也交给 Python
>>> 


2.2 Python 格式化操作符的辅助指令表

  • 源于 C,很多编程语言都适用
符号释义
n1.n21) n1 表示显示的最小总宽度,小数点也算一位;若超出,则原样输出
2) n2 表示小数点后的位数
-靠左输出
+靠右输出(可省略不写)
#1) 八进制数前显示 0o
2) 十六进制数前显示 0x
0用于填充空格


举例说明

(1) n1.n2

# 例 8
# 浮点数默认精确到小数点后 6 位
# n1 所指位数,小数点也算一位
print("0000000000")         # 作为位数参考
print("%6.3f" % 3.1)        # 输出位数有多,添零
print("%7.3f" % 3.14159265) # 输出位数不够,四舍五入
print("%7.3e" % 3.14159265) # 科学计数法的 e 及 e 后字符不算位数
print("%7.3e" % 314.159265)

>>>

0000000000
 3.100
  3.142
3.142e+00
3.142e+02


# 例 9
# n1 可省
print("0000000000")         # 作为位数参考
print("%.3f" % 3.1)         # 省 n1,只需考虑要精确的位数,不够添零
print("%.3f" % 3.14159265)  # 省 n1,只需考虑要精确的位数,多了就四舍五入

>>>

0000000000
3.100
3.142


# 例 10
# n2 可省,但不推荐
print("0000000000")     # 作为位数参考
print("%5.3f" % 3.1)
print("%5.f" % 3.1)     # 省 n2,不如用 %d

>>>

0000000000
3.100
    3


(2) -

# 例 11
print("0000000000")     # 作为位数参考
print("%6.2f" % 3.1)
print("%-6.2fA" % 3.1)  # 靠左输出

>>>

0000000000
  3.10
3.10  A


(3) +

# 例 12
print("0000000000")     # 作为位数参考
print("%6.2f" % 3.1)
print("%+6.2f" % 3.1)   # 靠右输出,但多一个 +

>>>

0000000000
  3.10
 +3.10


(4) #

# 例 13
print("%x" % 100)       # 作为参考
print("%#x" % 100)      # %#x 表示按十六进制的格式输出
print("%#X" % 100)      # x 不区分大小写

print("%#o" % 100)      # %#o 表示八进制,o 为小写字母,大写报错,类型同例1

>>>

64
0x64
0x64
0o144


(5) 0

# 例 14
print("0000000000")     # 作为位数参考
print("%5d" % 3)
print("%05d" % 3)

>>>

0000000000
    3
00003

倘若阁下发现在下错误之处,还请不吝赐教!谢谢!

转载于:https://www.cnblogs.com/yorkyu/p/10244418.html

  • 4
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值