接下来会暂停一段时间Python第二阶段(S2)内容的更新,敬请谅解。
format() 方法的基本使用
基本语法:模板字符串.format(参数列表)
模板字符串是一个由字符串和槽组成的字符串,用来控制字符串和变量的显示效果。
槽用{}表示,与format()中的参数列表顺序对应。
例如:
|
|
又或者我们有多个参数:
|
|
你也可以手动指定参数,只需在{}中填写参数列表中的参数下标,例如:
|
|
如果不指定参数下标的话,槽的数量和顺序务必和参数列表中的参数对应,否则将会报错。
|
|
format() 方法的格式控制
上一节中我们学习了在{}中可以留空或者填写参数下标号,
语法格式:{参数序号:格式控制标记}
常见的格式控制标记有下面几种 (按从前到后顺序排列) :
| 格式化配置项 | 解释 | 简单示例 |
|---|---|---|
| 填充 | 用于填充的单个字符 | print('{:*>10}'.format('5')) → 输出:*********5(用*填充,总宽度10) |
| 对齐 | < 左对齐、> 右对齐、^ 居中对齐 | print('{:^10}'.format('5')) → 输出: 5 (居中对齐,总宽度10) |
| 宽度 | 槽的设定输出宽度 | print('{:25}'.format('你好')) → 输出:你好 (总宽度25) |
| , | 数字的千位分割符,适用于整数和浮点数 | print('{:,}'.format(1234567)) → 输出:1,234,567(千位分隔) |
| 精度 | 浮点数小数部分的精度或字符串的最大输出长度 | print('{:.2f}'.format(3.1415)) → 输出:3.14(保留2位小数,f是类型控制符) |
| 类型 | 整数类型(b/c/d/o/x/X)、浮点数类型(e/E/f/%) | print('{:.1%}'.format(0.75)) → 输出:75.0%(转为百分比格式,保留1位小数) |
一个用上全部控制符的例子:
|
|
你也可以在槽中嵌套,像是这样:
|
|
详解:类型控制符
整数专用类型控制符(b/c/d/o/x/X)
| 类型符 | 全称/含义 | 适用数据 | 具体规则 | 示例代码 | 输出结果 |
|---|---|---|---|---|---|
| d | Decimal(十进制) | 整数 | 以十进制整数输出(整数的默认格式,可省略) | print('{:d}'.format(100)) |
100 |
| b | Binary(二进制) | 整数 | 以二进制整数输出(无前缀0b) | print('{:b}'.format(100)) |
1100100 |
| o | Octal(八进制) | 整数 | 以八进制整数输出(无前缀0o) | print('{:o}'.format(100)) |
144 |
| x | Hexadecimal(十六进制) | 整数 | 以小写十六进制输出(无前缀0x,0-9 + a-f) | print('{:x}'.format(100)) |
64 |
| X | Hexadecimal(大写十六进制) | 整数 | 以大写十六进制输出(无前缀0X,0-9 + A-F) | print('{:X}'.format(100)) |
64 |
| c | Character(Unicode字符) | 整数 | 将整数转为对应的Unicode字符(仅对有效Unicode编码值生效,如65→A、97→a) | print('{:c}'.format(65)) |
A |
浮点数 / 数值通用类型控制符(e/E/f/%/g/G)
| 类型符 | 全称/含义 | 适用数据 | 具体规则 | 示例代码 | 输出结果 |
|---|---|---|---|---|---|
| f | Fixed-point(固定小数) | 浮点数/整数 | 以固定小数格式输出,默认保留6位小数,可通过精度控制(如.2f保留2位) |
print('{:.2f}'.format(3.1415)) |
3.14 |
| e | Exponential(科学计数法) | 浮点数/整数 | 以小写e的科学计数法输出,默认6位小数(如3.14e+00) | print('{:.2e}'.format(1234.56)) |
1.23e+03 |
| E | Exponential(大写科学计数法) | 浮点数/整数 | 以大写E的科学计数法输出,规则同e | print('{:.2E}'.format(1234.56)) |
1.23E+03 |
| % | Percent(百分比) | 浮点数/整数 | 将数值×100后加%符号,默认6位小数,可通过精度控制 | print('{:.1%}'.format(0.75)) |
75.0% |
| g | General(通用格式) | 浮点数/整数 | 自动选择f或e中更简洁的形式,自动去掉末尾无效的0,默认6位有效数字 |
print('{:.3g}'.format(1234.56)) |
1.23e+03 |
| G | General(大写通用格式) | 浮点数/整数 | 规则同g,但科学计数法用大写E,自动去末尾无效0 | print('{:.3G}'.format(123.000)) |
123 |