format()
format()` 方法的语法格式为:
`{<参数序号>:<格式控制标记>}
格式控制标记包含以下六个可选字段,可以组合使用:
- 填充:用于填充空白位置的单个字符(默认为空格)。
-
对齐:
^(居中)、<(左对齐)、>(右对齐)。 - 宽度:输出的总宽度(整数)。
-
千位分隔符:
,(在数字中插入千位分隔符)。 -
精度:
.精度(浮点数小数位数或字符串截断长度)。 - 类型:指定值的表示类型(如整数、浮点数、十六进制等)。
字段详解与示例
1. 填充 + 对齐 + 宽度
语法:{:<填充字符><对齐方式><宽度>}
- 对齐方式:
^(居中)、<(左)、>(右)。 - 默认填充字符为空格。
示例:
python
# 左对齐,宽度10,填充'-'
print("{0:-<10}".format("Hello")) # 输出:'Hello-----'
# 右对齐,宽度8,填充'*'
print("{:*>8}".format(123)) # 输出:'*****123'
# 居中,宽度6,填充'.'
print("{:.^6}".format("Hi")) # 输出:'..Hi..'
2. 千位分隔符(,)
语法:{:,}
- 自动在数字中添加千位分隔符(逗号)。
示例:
print("{:,}".format(1000000)) # 输出:'1,000,000'
3. 精度(.精度)
语法:{:.精度}
- 对浮点数:控制小数位数。
- 对字符串:截断长度。
示例:
python
# 浮点数保留2位小数
print("{:.2f}".format(3.14159)) # 输出:'3.14'
# 字符串截取前3字符
print("{:.3}".format("Python")) # 输出:'Pyt'
4. 类型转换
语法:{:类型}
常用类型:
-
b:二进制 -
d:十进制 -
x:十六进制(小写) -
f:浮点数 -
%:百分比格式
示例:
# 二进制输出
print("{:b}".format(10)) # 输出:'1010'
# 十六进制输出
print("{:x}".format(255)) # 输出:'ff'
# 百分比格式(自动×100)
print("{:.2%}".format(0.25)) # 输出:'25.00%'
综合示例
# 组合使用:右对齐,宽度10,填充'0',千位分隔符,保留2位小数
print("{:0>10,.2f}".format(1234.567)) # 输出:'001,234.57'
总结表格
| 字段 | 符号 | 作用 | 示例 |
|---|---|---|---|
| 填充 | 任意字符 | 填充空白 |
{:*^10} → ***Hi***
|
| 对齐 |
^ < >
|
居中/左/右对齐 |
{:<5} → Hello
|
| 宽度 | 整数 | 输出总长度 |
{:8} → ' 123'
|
| 千位分隔符 | , |
数字添加逗号分隔 |
{:,} → 1,000,000
|
| 精度 | .n |
小数位数或字符串截断 |
{:.2f} → 3.14
|
| 类型 |
b d x等 |
指定输出类型 |
{:x} → ff
|
通过灵活组合这些字段,可以精确控制输出的格式。
random.seed()
random.seed() 方法归纳总结
random.seed() 用于初始化 Python 的随机数生成器,确保每次程序运行时生成的随机数序列相同(可复现性)。
语法
import random
random.seed([x])
-
x(可选):种子值(可以是整数、浮点数、字符串等)。- 如果省略或
x=None,则使用系统时间作为种子(每次运行结果不同)。 - 如果指定
x,则每次运行程序时,相同的种子会生成相同的随机序列。
- 如果省略或
核心特点
-
种子相同 → 随机序列相同
- 适用于需要可重复随机结果的场景(如测试、实验)。
-
默认种子基于系统时间
- 不设置种子时,每次运行结果不同。
-
仅需调用一次
- 在程序开始时调用一次即可影响后续所有随机函数(如
random(),randint())。
- 在程序开始时调用一次即可影响后续所有随机函数(如
示例
示例 1:不设置种子(每次运行结果不同)
import random
# 不设置种子,结果随机
print(random.random()) # 每次运行输出不同,如 0.1234, 0.5678...
示例 2:设置固定种子(结果可复现)
import random
random.seed(42) # 固定种子
print(random.random()) # 输出固定值:0.6394267984578837
print(random.randint(1, 10)) # 输出固定值:如 7(种子为42时)
示例 3:种子对序列的影响
import random
random.seed(100)
a = [random.randint(1, 100) for _ in range(3)] # [15, 99, 61]
random.seed(100) # 重置相同种子
b = [random.randint(1, 100) for _ in range(3)] # 输出相同:[15, 99, 61]
print(a == b) # True
常见用途
-
调试与测试
- 确保随机生成的测试数据可复现。
-
机器学习/深度学习
- 固定种子使实验可重复(如
numpy、tensorflow也需设置种子)。
- 固定种子使实验可重复(如
-
游戏开发
- 生成相同的随机地图或关卡。