常用函數(shù)

format()

format()` 方法的語法格式為:
`{<參數(shù)序號>:<格式控制標(biāo)記>}

格式控制標(biāo)記包含以下六個(gè)可選字段,可以組合使用:

  1. 填充:用于填充空白位置的單個(gè)字符(默認(rèn)為空格)。
  2. 對齊^(居中)、<(左對齊)、>(右對齊)。
  3. 寬度:輸出的總寬度(整數(shù))。
  4. 千位分隔符,(在數(shù)字中插入千位分隔符)。
  5. 精度.精度(浮點(diǎn)數(shù)小數(shù)位數(shù)或字符串截?cái)嚅L度)。
  6. 類型:指定值的表示類型(如整數(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)

  1. 種子相同 → 隨機(jī)序列相同
    • 適用于需要可重復(fù)隨機(jī)結(jié)果的場景(如測試、實(shí)驗(yàn))。
  2. 默認(rèn)種子基于系統(tǒng)時(shí)間
    • 不設(shè)置種子時(shí),每次運(yùn)行結(jié)果不同。
  3. 僅需調(diào)用一次
    • 在程序開始時(shí)調(diào)用一次即可影響后續(xù)所有隨機(jī)函數(shù)(如 random(), randint())。

示例

示例 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

常見用途

  1. 調(diào)試與測試
    • 確保隨機(jī)生成的測試數(shù)據(jù)可復(fù)現(xiàn)。
  2. 機(jī)器學(xué)習(xí)/深度學(xué)習(xí)
    • 固定種子使實(shí)驗(yàn)可重復(fù)(如 numpytensorflow 也需設(shè)置種子)。
  3. 游戲開發(fā)
    • 生成相同的隨機(jī)地圖或關(guān)卡。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容