最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python?format()函數(shù)進行高級字符串格式化詳解

 更新時間:2025年05月19日 10:36:46   作者:盛夏綻放  
format()是Python中功能強大的字符串格式化工具,它提供了比傳統(tǒng)%格式化更靈活,更強大的方式來處理字符串格式化,下面我們就來全面講解一下format()函數(shù)的使用方法吧

一、format()函數(shù)基礎用法

1. 基本語法

"模板字符串".format(參數(shù)1, 參數(shù)2, ...)

2. 三種基本使用方式

(1) 位置參數(shù)

print("{}的{}成績是{}".format("張三", "數(shù)學", 95))
# 輸出: 張三的數(shù)學成績是95

(2) 索引參數(shù)

print("{0}的{2}成績是{1}".format("張三", 95, "數(shù)學"))
# 輸出: 張三的數(shù)學成績是95

(3) 命名參數(shù)

print("{name}的{subject}成績是{score}".format(
    name="李四", 
    subject="英語", 
    score=88
))
# 輸出: 李四的英語成績是88

二、數(shù)字格式化

1. 基本數(shù)字格式化語法

"{:[填充][對齊][符號][寬度][,][.精度][類型]}".format(數(shù)字)

2. 常用數(shù)字格式化示例

格式化需求格式字符串示例代碼輸出結果
保留2位小數(shù){:.2f}"{:.2f}".format(3.14159)3.14
千分位分隔{:,}"{:,}".format(1234567)1,234,567
百分比顯示{:.2%}"{:.2%}".format(0.4567)45.67%
十六進制{:x}"{:x}".format(255)ff
二進制{:b}"{:b}".format(10)1010
科學計數(shù)法{:.2e}"{:.2e}".format(123456)1.23e+05

3. 對齊與填充

格式化需求格式字符串示例代碼輸出結果
右對齊(默認){:10}"{:10}".format(123)123
左對齊{:<10}"{:<10}".format(123)123
居中對齊{:^10}"{:^10}".format(123)123
用0填充{:010}"{:010}".format(123)0000000123
用*填充{:*^10}"{:*^10}".format(123)***123****
# 綜合示例:銀行金額顯示
amount = 1234567.8912
print("賬戶余額: {:,.2f}元".format(amount))
# 輸出: 賬戶余額: 1,234,567.89元

三、字符串格式化

1. 字符串對齊與截斷

格式化需求格式字符串示例代碼輸出結果
右對齊{:>10}"{:>10}".format("hello")hello
左對齊{:<10}"{:<10}".format("hello")hello
居中對齊{:^10}"{:^10}".format("hello")hello
截斷字符串{:.3}"{:.3}".format("hello")hel

2. 填充與對齊結合

# 表格格式化示例
data = [("蘋果", 5.5, 10), ("香蕉", 3.2, 8), ("橙子", 4.8, 15)]

for item in data:
    print("{:<8} 單價: {:>5.2f}元 庫存: {:03d}".format(*item))
    
# 輸出:
# 蘋果      單價:  5.50元 庫存: 010
# 香蕉      單價:  3.20元 庫存: 008
# 橙子      單價:  4.80元 庫存: 015

四、高級格式化技巧

1. 訪問對象屬性

class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

p = Person("王五", 30)
print("{0.name}今年{0.age}歲".format(p))
# 輸出: 王五今年30歲

2. 訪問字典元素

data = {"name": "趙六", "score": 92}
print("學生{name}的成績是{score}".format(**data))
# 輸出: 學生趙六的成績是92

3. 訪問列表元素

items = ["手機", "電腦", "平板"]
print("產品1: {0[0]}, 產品2: {0[1]}".format(items))
# 輸出: 產品1: 手機, 產品2: 電腦

4. 動態(tài)格式化

# 根據(jù)條件動態(tài)設置格式
for num in [123, 12345, 1234567]:
    print("{:{align}{width},}".format(num, align=">", width=10))
    
# 輸出:
#        123
#     12,345
#  1,234,567

五、特殊格式化

1. 大括號轉義

# 顯示大括號本身
print("{{}}是format使用的括號".format())
# 輸出: {}是format使用的括號

2. 日期時間格式化

from datetime import datetime
now = datetime.now()
print("{:%Y-%m-%d %H:%M:%S}".format(now))
# 輸出: 2023-08-15 14:30:45 (當前時間)

3. 自定義格式化

class Temperature:
    def __init__(self, celsius):
        self.celsius = celsius
    
    def __format__(self, format_spec):
        if format_spec == "f":
            return f"{self.celsius * 9/5 + 32:.1f}°F"
        return f"{self.celsius:.1f}°C"

temp = Temperature(25)
print("溫度: {:f}".format(temp))  # 輸出: 溫度: 77.0°F
print("溫度: {}".format(temp))    # 輸出: 溫度: 25.0°C

六、性能比較

1. 各種格式化方式對比

格式化方式Python版本可讀性性能功能
%格式化所有版本一般有限
str.format()2.6+強大
f-string3.6+最好最快強大

2. 何時使用format()

? 適合場景:

  • Python 2.6到3.5版本
  • 需要復用格式模板
  • 復雜的格式化需求
  • 需要動態(tài)格式字符串

? 不適合場景:

  • Python 3.6+簡單格式化(用f-string更好)
  • 極高性能要求的場景

七、實際應用案例

案例1:生成報表

# 銷售報表生成
sales_data = [
    ("筆記本電腦", 12, 5999.99),
    ("智能手機", 25, 3999.50),
    ("平板電腦", 8, 2999.00)
]

# 表頭
print("{:<15} {:>10} {:>15} {:>15}".format(
    "產品名稱", "銷售數(shù)量", "單價", "總金額"))
print("-" * 60)

# 表格內容
for product, quantity, price in sales_data:
    total = quantity * price
    print("{:<15} {:>10d} {:>15,.2f} {:>15,.2f}".format(
        product, quantity, price, total))

# 輸出示例:
# 產品名稱           銷售數(shù)量            單價          總金額
# ------------------------------------------------------------
# 筆記本電腦             12        5,999.99       71,999.88
# 智能手機               25        3,999.50       99,987.50
# 平板電腦                8        2,999.00       23,992.00

案例2:日志格式化

def log_message(level, message):
    timestamp = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
    print("[{:<5}] {:<20} {}".format(level, timestamp, message))

log_message("INFO", "系統(tǒng)啟動完成")
log_message("ERROR", "文件打開失敗")

# 輸出示例:
# [INFO ] 2023-08-15 14:45:30 系統(tǒng)啟動完成
# [ERROR] 2023-08-15 14:46:12 文件打開失敗

八、總結

format()函數(shù)核心要點:

1.基本用法:位置參數(shù){}、索引參數(shù){0}、命名參數(shù){name}

2.數(shù)字格式化:

  • 精度控制:{:.2f}
  • 千分位:{:,}
  • 對齊填充:{:0>10}

3.字符串格式化:對齊{:<10}、截斷{:.5}

4.高級特性:

  • 訪問對象屬性{obj.attr}
  • 動態(tài)格式{:{width}}
  • 自定義__format__方法

5.特殊格式:日期時間、大括號轉義

format()提供了Python中最強大、最靈活的字符串格式化能力,特別適合需要復雜格式控制的場景。雖然Python 3.6+引入了更簡潔的f-string,但在需要復用格式模板或兼容舊版本Python時,format()仍然是不可或缺的工具。

以上就是Python format()函數(shù)進行高級字符串格式化詳解的詳細內容,更多關于Python format字符串格式化的資料請關注腳本之家其它相關文章!

相關文章

  • 如何在Django中添加沒有微秒的 DateTimeField 屬性詳解

    如何在Django中添加沒有微秒的 DateTimeField 屬性詳解

    這篇文章主要給大家介紹了關于如何在Django中添加沒有微秒的 DateTimeField 屬性的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-01-01
  • Python中處理YAML文件的使用技巧分享

    Python中處理YAML文件的使用技巧分享

    在日常開發(fā)中,你是否經常需要處理各種配置文件?是否曾為不同環(huán)境下的配置管理而頭疼?今天我們來聊聊Python中處理YAML文件的實用技巧,讓你的配置管理變得更加輕松,需要的朋友可以參考下
    2025-11-11
  • Python實現(xiàn)在圖像中隱藏二維碼的方法詳解

    Python實現(xiàn)在圖像中隱藏二維碼的方法詳解

    隱寫是一種類似于加密卻又不同于加密的技術。這篇文章主要介紹了如何利用Python語言實現(xiàn)在圖像中隱藏二維碼功能,感興趣的可以了解一下
    2022-09-09
  • Python自動連接SSH的實現(xiàn)步驟

    Python自動連接SSH的實現(xiàn)步驟

    本文主要介紹了Python自動連接SSH的實現(xiàn)步驟,可以使用paramiko模塊來編寫腳本自動執(zhí)行SSH命令,具有一定的參考價值,感興趣的可以了解一下
    2024-03-03
  • Python3使用matplotlib繪圖時,坐標軸刻度不從X軸、y軸兩端開始

    Python3使用matplotlib繪圖時,坐標軸刻度不從X軸、y軸兩端開始

    這篇文章主要介紹了Python3使用matplotlib繪圖時,坐標軸刻度不從X軸、y軸兩端開始問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • 基于Python實現(xiàn)牛牛套圈小游戲的示例代碼

    基于Python實現(xiàn)牛牛套圈小游戲的示例代碼

    “幸運牛牛套圈圈”套住歡樂,圈住幸福,等你來挑戰(zhàn)!這篇文章小編主要為大家介紹一款基于Python實現(xiàn)牛牛套圈小游戲,感興趣的小伙伴可以了解一下
    2023-02-02
  • Python3.9.1中使用match方法詳解

    Python3.9.1中使用match方法詳解

    這篇文章主要介紹了Python3.9.1中使用match方法詳解,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-02-02
  • Python中bisect的用法

    Python中bisect的用法

    這篇文章主要介紹了Python中bisect的用法,主要講述了針對數(shù)組的插入及排序操作,非常具有實用價值,需要的朋友可以參考下
    2014-09-09
  • Python中的列表及其操作方法

    Python中的列表及其操作方法

    這篇文章主要介紹了Python中的列表及其操作方法,涉及到的方法包括對列表元素進行修改、添加、刪除、排序以及求列表長度等,此外還介紹了列表的遍歷、數(shù)值列表、切片和元組的一些操作,下文詳細介紹需要的小伙伴可以參考一下
    2022-03-03
  • python實現(xiàn)向ppt文件里插入新幻燈片頁面的方法

    python實現(xiàn)向ppt文件里插入新幻燈片頁面的方法

    這篇文章主要介紹了python實現(xiàn)向ppt文件里插入新幻燈片頁面的方法,涉及Python操作ppt文檔添加幻燈片的相關技巧,非常具有實用價值,需要的朋友可以參考下
    2015-04-04

最新評論

太谷县| 永兴县| 定陶县| 抚宁县| 财经| 马山县| 马山县| 城固县| 喜德县| 武城县| 秦安县| 长乐市| 昔阳县| 中西区| 漳州市| 丰都县| 镇雄县| 玛多县| 沽源县| 旅游| 富蕴县| 盖州市| 四平市| 南涧| 深泽县| 新疆| 天镇县| 苏尼特左旗| 台中市| 高唐县| 云南省| 武强县| 若尔盖县| 临海市| 环江| 景洪市| 吉木萨尔县| 凤山市| 凤山县| 贵定县| 乳山市|