format()
format()` 方法的語法格式為:
`{<參數(shù)序號>:<格式控制標(biāo)記>}
格式控制標(biāo)記包含以下六個(gè)可選字段,可以組合使用:
- 填充:用于填充空白位置的單個(gè)字符(默認(rèn)為空格)。
-
對齊:
^(居中)、<(左對齊)、>(右對齊)。 - 寬度:輸出的總寬度(整數(shù))。
-
千位分隔符:
,(在數(shù)字中插入千位分隔符)。 -
精度:
.精度(浮點(diǎn)數(shù)小數(shù)位數(shù)或字符串截?cái)嚅L度)。 - 類型:指定值的表示類型(如整數(shù)、浮點(diǎn)數(shù)、十六進(jìn)制等)。
字段詳解與示例
1. 填充 + 對齊 + 寬度
語法:{:<填充字符><對齊方式><寬度>}
- 對齊方式:
^(居中)、<(左)、>(右)。 - 默認(rèn)填充字符為空格。
示例:
python
# 左對齊,寬度10,填充'-'
print("{0:-<10}".format("Hello")) # 輸出:'Hello-----'
# 右對齊,寬度8,填充'*'
print("{:*>8}".format(123)) # 輸出:'*****123'
# 居中,寬度6,填充'.'
print("{:.^6}".format("Hi")) # 輸出:'..Hi..'
2. 千位分隔符(,)
語法:{:,}
- 自動在數(shù)字中添加千位分隔符(逗號)。
示例:
print("{:,}".format(1000000)) # 輸出:'1,000,000'
3. 精度(.精度)
語法:{:.精度}
- 對浮點(diǎn)數(shù):控制小數(shù)位數(shù)。
- 對字符串:截?cái)嚅L度。
示例:
python
# 浮點(diǎn)數(shù)保留2位小數(shù)
print("{:.2f}".format(3.14159)) # 輸出:'3.14'
# 字符串截取前3字符
print("{:.3}".format("Python")) # 輸出:'Pyt'
4. 類型轉(zhuǎn)換
語法:{:類型}
常用類型:
-
b:二進(jìn)制 -
d:十進(jìn)制 -
x:十六進(jìn)制(小寫) -
f:浮點(diǎn)數(shù) -
%:百分比格式
示例:
# 二進(jìn)制輸出
print("{:b}".format(10)) # 輸出:'1010'
# 十六進(jìn)制輸出
print("{:x}".format(255)) # 輸出:'ff'
# 百分比格式(自動×100)
print("{:.2%}".format(0.25)) # 輸出:'25.00%'
綜合示例
# 組合使用:右對齊,寬度10,填充'0',千位分隔符,保留2位小數(shù)
print("{:0>10,.2f}".format(1234.567)) # 輸出:'001,234.57'
總結(jié)表格
| 字段 | 符號 | 作用 | 示例 |
|---|---|---|---|
| 填充 | 任意字符 | 填充空白 |
{:*^10} → ***Hi***
|
| 對齊 |
^ < >
|
居中/左/右對齊 |
{:<5} → Hello
|
| 寬度 | 整數(shù) | 輸出總長度 |
{:8} → ' 123'
|
| 千位分隔符 | , |
數(shù)字添加逗號分隔 |
{:,} → 1,000,000
|
| 精度 | .n |
小數(shù)位數(shù)或字符串截?cái)?/td> |
{:.2f} → 3.14
|
| 類型 |
b d x等 |
指定輸出類型 |
{:x} → ff
|
通過靈活組合這些字段,可以精確控制輸出的格式。
random.seed()
random.seed() 方法歸納總結(jié)
random.seed() 用于初始化 Python 的隨機(jī)數(shù)生成器,確保每次程序運(yùn)行時(shí)生成的隨機(jī)數(shù)序列相同(可復(fù)現(xiàn)性)。
語法
import random
random.seed([x])
-
x(可選):種子值(可以是整數(shù)、浮點(diǎn)數(shù)、字符串等)。- 如果省略或
x=None,則使用系統(tǒng)時(shí)間作為種子(每次運(yùn)行結(jié)果不同)。 - 如果指定
x,則每次運(yùn)行程序時(shí),相同的種子會生成相同的隨機(jī)序列。
- 如果省略或
核心特點(diǎn)
-
種子相同 → 隨機(jī)序列相同
- 適用于需要可重復(fù)隨機(jī)結(jié)果的場景(如測試、實(shí)驗(yàn))。
-
默認(rèn)種子基于系統(tǒng)時(shí)間
- 不設(shè)置種子時(shí),每次運(yùn)行結(jié)果不同。
-
僅需調(diào)用一次
- 在程序開始時(shí)調(diào)用一次即可影響后續(xù)所有隨機(jī)函數(shù)(如
random(),randint())。
- 在程序開始時(shí)調(diào)用一次即可影響后續(xù)所有隨機(jī)函數(shù)(如
示例
示例 1:不設(shè)置種子(每次運(yùn)行結(jié)果不同)
import random
# 不設(shè)置種子,結(jié)果隨機(jī)
print(random.random()) # 每次運(yùn)行輸出不同,如 0.1234, 0.5678...
示例 2:設(shè)置固定種子(結(jié)果可復(fù)現(xiàn))
import random
random.seed(42) # 固定種子
print(random.random()) # 輸出固定值:0.6394267984578837
print(random.randint(1, 10)) # 輸出固定值:如 7(種子為42時(shí))
示例 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
常見用途
-
調(diào)試與測試
- 確保隨機(jī)生成的測試數(shù)據(jù)可復(fù)現(xiàn)。
-
機(jī)器學(xué)習(xí)/深度學(xué)習(xí)
- 固定種子使實(shí)驗(yàn)可重復(fù)(如
numpy、tensorflow也需設(shè)置種子)。
- 固定種子使實(shí)驗(yàn)可重復(fù)(如
-
游戲開發(fā)
- 生成相同的隨機(jī)地圖或關(guān)卡。