1. print( 坑的信息 )

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

2. 开始填坑

2.1 Python 格式化符号表

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

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

[Python3 填坑] 001 格式化符号 & 格式化操作符的辅助指令的更多相关文章

  1. [Python3 填坑] 006 “杠零”,空字符的使用

    目录 1. print( 坑的信息 ) 2. 开始填坑 2.1 \0 是空字符,输出时看不到它,但它占 1 个字符的长度 2.2 \0 "遇八进制失效" 2.3 \0 与 '' 不 ...

  2. [Python3 填坑] 004 关于八进制

    目录 1. print( 坑的信息 ) 2. 开始填坑 2.1 问题的由来 2.2 问题的解决 2.2.1 先说结论 2.2.2 八进制的用途 2.2.3 少废话,上例子 1. print( 坑的信息 ...

  3. [Python3 填坑] 012 字典的遍历在 Python2 与 Python3 中区别

    目录 1. print( 坑的信息 ) 2. 开始填坑 2.1 Python2 中字典的遍历 2.2 Python3 中字典的遍历 2.3 结论 1. print( 坑的信息 ) 挖坑时间:2019/ ...

  4. [Python3 填坑] 009 深拷贝与浅拷贝

    目录 1. print( 坑的信息 ) 2. 开始填坑 2.1 Python3.7 官方文档 2.2 赋值.切片与 copy() 分析 分析 分析 分析 2.3 copy 模块 分析 分析 2.4 小 ...

  5. [Python3 填坑] 005 如何“响铃”

    目录 1. print( 坑的信息 ) 2. 开始填坑 2.1 问题的由来 2.2 问题的解决 1. print( 坑的信息 ) 挖坑时间:2019/01/08 明细 坑的编码 内容 Py004-2 ...

  6. [Python3 填坑] 003 关键字?保留字?预留字?

    目录 1. print( 坑的信息 ) 2. 开始填坑 2.1 问题的由来 2.2 网上搜索 2.3 结论 2.4 后记 1. print( 坑的信息 ) 挖坑时间:2019/01/04 明细 坑的编 ...

  7. [Python3 填坑] 018 组装类的几个例子

    目录 1. print( 坑的信息 ) 2. 开始填坑 2.1 MetaClass 举例 2.2 type 举例 2.3 MetaClass 举例 1. print( 坑的信息 ) 挖坑时间:2019 ...

  8. [Python3 填坑] 017 实例方法、静态方法、类方法的区别

    目录 1. print( 坑的信息 ) 2. 开始填坑 2.1 先上例子 2.2 分析 1. print( 坑的信息 ) 挖坑时间:2019/04/07 明细 坑的编码 内容 Py024-1 实例方法 ...

  9. [Python3 填坑] 016 对 __getattr__ 和 __setattr__ 举例

    目录 1. print( 坑的信息 ) 2. 开始填坑 2.1 __getattr__ 2.2 __setattr__ 1. print( 坑的信息 ) 挖坑时间:2019/04/07 明细 坑的编码 ...

随机推荐

  1. Educational Codeforces Round 55 (Rated for Div. 2) B. Vova and Trophies (贪心+字符串)

    B. Vova and Trophies time limit per test2 seconds memory limit per test256 megabytes inputstandard i ...

  2. qt02 textEdit

    1.向QTextEdit中当前光标位置添加一行字符串message ui.messageTextEdit->textCursor().insertText(message+"\n&qu ...

  3. 【LuoguP3348】[ZJOI2016]大森林

    题目链接 题目描述 小Y家里有一个大森林,里面有n棵树,编号从1到n.一开始这些树都只是树苗,只有一个节点,标号为1.这些树都有一个特殊的节点,我们称之为生长节点,这些节点有生长出子节点的能力. 小Y ...

  4. 【NOIP2013模拟】归途与征程

    题目 分析 好吧...明显是暴力题. 首先,把A串分成只有小写字母组成的小分串,按顺序存放:A[1].A[2].A[3]--. 对于同构循环串,显然把两个B串合在一起,成为一个新的C串.\(C[i.. ...

  5. SQL server 统计分组经计

    SUM(A.AREA) OVER ( PARTITION BY A.ItemNo, A.PARTS ,A.WIDTH,A.HEIGHT) allotQty, SUM(A.SL) OVER ( PART ...

  6. Leetcode 7. Reverse Integer(水)

    7. Reverse Integer Easy Given a 32-bit signed integer, reverse digits of an integer. Example 1: Inpu ...

  7. Pandas中的qcut和cut

    qcut与cut的主要区别: qcut:传入参数,要将数据分成多少组,即组的个数,具体的组距是由代码计算 cut:传入参数,是分组依据.具体见示例 1.qcut方法,参考链接:http://panda ...

  8. css3 clac()方法

    calc()从字面上可以把它理解成为一个函数function,英文单词是calculate(计算),是CSS3的一个新功能,用来显示元素的长度. 他的用途就是,如果你有一个元素,加了padding或者 ...

  9. Android and HTML5 开发手机应用(转载)

    作为一个WEB开发者,HTML5让我兴奋,因为它可以将桌面应用程序功能带入浏览器中.但在国内,看着到处横行的IE8版本以下的浏览器,觉得到能大规模使用HTML5技术的那天,还遥遥无期.但面对iOS及A ...

  10. RabbitMQ幂等性概念(七)

    幂等性是什么? 我们可以借鉴数据库的乐观锁机制 比如我们执行一条更新库存的sql语句update user set count=count-1,version=version+1 where vers ...