Skip to content

Commit d391c9c

Browse files
committed
Delete Format Illustrating Signs
1 parent 685d495 commit d391c9c

1 file changed

Lines changed: 16 additions & 121 deletions

File tree

docs/code/python3.md

Lines changed: 16 additions & 121 deletions
Original file line numberDiff line numberDiff line change
@@ -342,26 +342,6 @@ def 函数名(参量):
342342
核心语法 `eval(字符串)` 返回字符串去除引号的运行结果
343343
如: `eval('1+2')` 将返回 `3`
344344

345-
### format函数
346-
**核心语法** `format(待格式化对象,格式说明符)`
347-
**格式说明符**结构(各部分均可选,按顺序排列)
348-
`[[填充字符][对齐方式][对齐宽度][数字正负号][进制数前缀][补零][宽度][,/_][.精度][类型]]`
349-
[**格式说明符**内容](#格式说明符)
350-
**综合示例**(多格式符组合)
351-
```python :no-collapsed-lines
352-
# 填充+对齐+符号+宽度+千分位+精度+类型
353-
print(format(-123456.789, '*>+15,.2f'))
354-
# 输出:'*****-$123,456.79'
355-
356-
# 进制+前缀+补零+宽度
357-
print(format(10, '#08x'))
358-
# 输出:'0x00000a'
359-
360-
# 字符串+填充+居中+精度
361-
print(format('Python', '*^10.4s'))
362-
# 输出:'***Pyth***'
363-
```
364-
365345
### max函数(min函数)
366346
核心语法 `max(对象, key = 对比规则)`
367347
核心语法 `min(对象, key = 对比规则)`
@@ -396,12 +376,23 @@ print(format('Python', '*^10.4s'))
396376
**关键字表达** `print('{age} {name}'.format(age = 变量0, name = 变量1) )`
397377
> 以上两种表达可以任意组合
398378
399-
**字典表达** `print('{0[name]} {0[age]} {0[hobby]}'.format(字典变量0))` 中括号内为键值
379+
**字典索引表达** `print('{0[name]} {0[age]} {0[hobby]}'.format(字典变量0))` 中括号内为键值
380+
**字典解包表达** `print('{name} {age} {hobby}'.format(**字典变量0))`
400381
**元组索引表达** `print('{0[0]} and {0[1]}'.format(元组变量0))` 中括号内为索引
401-
**元组解包表达** `print('{} and {}'.format(*元组))` `*`代表解包元组, 元素按序填入, **元组长度须与中括号个数相同**
402-
也可以使用格式说明符格式化 `print('{0:符号}'.format(变量0))`
403-
格式化浮点数 `print('{:.nf}'.format(浮点数变量0))` n代表保留几位小数
404-
[更多格式说明符](#格式说明符)
382+
**元组解包表达** `print('{} and {}'.format(*元组))` **元组长度须与中括号个数相同**
383+
> [!tips]
384+
> `*`代表解包元组, 元素按序填入
385+
386+
##### 格式说明符
387+
**格式化语法** `print('{:说明符}'.format(变量))`
388+
**排版**`'{:[填充字符][对齐][宽度]...}'.format(变量)`
389+
**整数**`'{:[排版][正负号][,(千位分隔符)][#(前缀)][进制]}'.format(变量)`
390+
> 进制:`b`二进制 `d`十进制 `o`八进制 `x`十六进制
391+
392+
**浮点数**`'{:[排版][正负号][.n(精度)][显示类型]}'.format(变量)`
393+
> 类型:`%`百分比 `e`指数计数
394+
395+
更多格式说明符请自行学习(如日期、时间)
405396

406397
### 字典方法
407398
#### pop方法
@@ -771,102 +762,6 @@ with open(...) as f:
771762
排序依据值
772763
使用 [匿名函数](#匿名函数) 计算
773764

774-
### 格式说明符
775-
1. 对齐与填充说明符
776-
- 作用:控制字符串/数字的对齐方式,及空白位置填充字符(默认填充空格,仅支持单个字符)
777-
- 详细说明:
778-
779-
| 格式符 | 功能描述 | 示例 | 输出结果 |
780-
|--------|----------|------|----------|
781-
| `<` | 左对齐(默认对字符串生效) | `format('abc', '<10')` | `'abc '`(总宽度10,右侧补空格) |
782-
| `>` | 右对齐(默认对数字生效) | `format('abc', '>10')` | `' abc'`(总宽度10,左侧补空格) |
783-
| `^` | 居中对齐 | `format('abc', '^10')` | `' abc '`(总宽度10,两侧补空格) |
784-
| `=` | 仅对数字有效:符号左对齐,数字右对齐,填充在符号与数字间 | `format(-123, '0=10')` | `'-000000123'`(总宽度10,中间补0) |
785-
| 自定义填充 | 将符号置于对齐方式前,以指定填充用字符 | `format('abc', '*<10')` | `'abc*******'`(右侧补*|
786-
2. 符号说明符
787-
- 作用:仅对数字类型生效,控制正负号显示规则
788-
- 详细说明:
789-
790-
| 格式符 | 功能描述 | 示例 | 输出结果 |
791-
|--------|----------|------|----------|
792-
| `+` | 正数显示`+`,负数显示`-` | `format(123, '+10')``format(-123, '+10')` | `' +123'``' -123'` |
793-
| `-` | 正数不显示符号,负数显示`-`(默认规则) | `format(123, '-10')``format(-123, '-10')` | `' 123'``' -123'` |
794-
| 空格 | 正数前加1个空格,负数显示`-`(用于正负数字对齐) | `format(123, ' 10')``format(-123, ' 10')` | `' 123'`(前有空格)、`' -123'` |
795-
3. 进制前缀说明符(`#`
796-
- 作用:仅对进制转换类型(b/o/x/X)生效,控制是否显示进制前缀
797-
- 详细说明:
798-
799-
| 格式符 | 功能描述 | 示例 | 输出结果 |
800-
|--------|----------|------|----------|
801-
| `#` | 显示进制前缀(二进制0b、八进制0o、十六进制0x/0X) | `format(10, '#b')``format(10, '#X')` | `'0b1010'``'0XA'` |
802-
|`#` | 不显示进制前缀(默认) | `format(10, 'b')``format(10, 'X')` | `'1010'``'A'` |
803-
4. 宽度与补零说明符
804-
- 宽度说明符
805-
806-
| 格式符 | 功能描述 | 示例 | 输出结果 |
807-
|--------|----------|------|----------|
808-
| `n`(整数) | 指定格式化后字符串总长度,超出则按实际长度显示 | `format('abc', '10')``format(123, '10')` | `' abc'``' 123'` |
809-
- 补零说明符(`0`
810-
811-
| 格式符 | 功能描述 | 示例 | 输出结果 |
812-
|--------|----------|------|----------|
813-
| `0n` | 总宽度n,不足部分补0(数字补在符号后,字符串补在左侧) | `format(123, '05')``format(-123, '05')` | `'00123'``'-0123'` |
814-
5. 千分位分隔符(`,/_`
815-
- 作用:仅对数字类型生效,提升大数字可读性
816-
- 详细说明:
817-
818-
| 格式符 | 功能描述 | 示例 | 输出结果 |
819-
|--------|----------|------|----------|
820-
| `,` | 英文千位分隔符(每3位分隔) | `format(1234567, ',')``format(1234567.89, ',.2f')` | `'1,234,567'``'1,234,567.89'` |
821-
| `_` | 通用千位分隔符(支持二进制/八进制/十六进制) | `format(1234567, '_')``format(0x1234567, '#_x')` | `'1_234_567'``'0x12_34_567'` |
822-
6. 精度说明符(`.n`
823-
- 作用:根据后续类型说明符,功能不同(n为非负整数)
824-
- 详细说明:
825-
826-
| 适用类型 | 功能描述 | 示例 | 输出结果 |
827-
|----------|----------|------|----------|
828-
| 字符串(s) | 截取前n个字符 | `format('abcdefg', '.3s')` | `'abc'` |
829-
| 浮点数(f/F/e/E) | 保留n位小数(四舍五入) | `format(3.14159, '.2f')``format(3.14159, '.2e')` | `'3.14'``'3.14e+00'` |
830-
| 浮点数(g/G) | 保留n位有效数字(去除末尾无效零) | `format(3.14159, '.3g')``format(1234.56, '.3g')` | `'3.14'``'1.23e+03'` |
831-
| 整数(d/b/o/x) | 无实际效果(不报错) | `format(123, '.3d')` | `'123'` |
832-
7. 类型说明符(核心)
833-
- 整数类型(int/bool,bool转为1/0)
834-
835-
| 格式符 | 功能描述 | 示例 | 输出结果 |
836-
|--------|----------|------|----------|
837-
| `d` | 十进制整数(默认) | `format(10, 'd')``format(True, 'd')` | `'10'``'1'` |
838-
| `b` | 二进制整数 | `format(10, 'b')` | `'1010'` |
839-
| `o` | 八进制整数 | `format(10, 'o')` | `'12'` |
840-
| `x` | 小写十六进制整数 | `format(10, 'x')` | `'a'` |
841-
| `X` | 大写十六进制整数 | `format(10, 'X')` | `'A'` |
842-
| `c` | 转换为ASCII字符 | `format(65, 'c')``format(97, 'c')` | `'A'``'a'` |
843-
| `n` | 等价于`d`,按系统本地化显示千分位 | `format(1234567, 'n')` | `'1,234,567'`(英文环境) |
844-
- 浮点数/小数类型(float/Decimal)
845-
846-
| 格式符 | 功能描述 | 示例 | 输出结果 |
847-
|--------|----------|------|----------|
848-
| `f` | 固定小数格式(小写) | `format(3.14159, '.2f')` | `'3.14'` |
849-
| `F` | 固定小数格式(大写,NaN/inf显示为大写) | `format(float('nan'), 'F')` | `'NAN'` |
850-
| `e` | 小写科学计数法(默认保留6位小数) | `format(1234.56, 'e')` | `'1.234560e+03'` |
851-
| `E` | 大写科学计数法 | `format(1234.56, 'E')` | `'1.234560E+03'` |
852-
| `g` | 自动选`f`/`e`,去除末尾无效零(小写) | `format(1234.56, 'g')``format(0.00123456, 'g')` | `'1234.56'``'0.00123456'` |
853-
| `G` | 自动选`F`/`E`,去除末尾无效零(大写) | `format(1234.56, 'G')` | `'1234.56'` |
854-
| `%` | 百分比格式(×100后加%) | `format(0.75, '.1%')` | `'75.0%'` |
855-
| `n` | 等价于`g`,按系统本地化显示千分位 | `format(1234.56, 'n')` | `'1,234.56'`(英文环境) |
856-
- 字符串类型(str)
857-
858-
| 格式符 | 功能描述 | 示例 | 输出结果 |
859-
|--------|----------|------|----------|
860-
| `s` | 字符串格式(默认,可截取) | `format('abcdefg', 's')``format('abcdefg', '.3s')` | `'abcdefg'``'abc'` |
861-
| `r` | repr格式(输出字面量,含引号) | `format('abc', 'r')` | `"'abc'"` |
862-
| `a` | ascii格式(非ASCII字符转为转义序列) | `format('中文', 'a')` | `"'\\u4e2d\\u6587'"` |
863-
8. 其他特殊类型
864-
865-
| 格式符 | 功能描述 | 示例 | 输出结果 |
866-
|--------|----------|------|----------|
867-
| 无类型符 | 自动按对象类型选默认格式 | `format(10)``format('abc')``format(3.14)` | `'10'``'abc'``'3.14'` |
868-
| 日期时间 | 对datetime对象,结合时间格式符使用 | `format(datetime.datetime(2025,12,27), '%Y-%m-%d')` | `'2025-12-27'` |
869-
870765
### 常见自定义函数
871766
1. 判断传入参数是否为质数, 返回布尔值
872767
```python

0 commit comments

Comments
 (0)