1. 程式人生 > 實用技巧 >python format格式化函式

python format格式化函式

2020年11月5日11:46:45-王凱玉


python format 格式化函式

Python2.6 開始,新增了一種格式化字串的函式 str.format(),它增強了字串格式化的功能。
基本語法是通過 {}: 來代替以前的 %

  • format 函式可以接受不限個引數,位置可以不按順序。

    # 不設定指定位置,按預設順序
    "{}  {}".format("hello", "world")    
     >'hello world'  
        
    # 設定指定位置 
    "{0}  {1}".format("hello", "world")
    >'hello world'  
    
    # 設定指定位置
    "{1}  {0}  {1}".format("hello", "world")   
    >'world hello world'
    
  • 也可以設定引數

    print("網站名:{name}, 地址 {url}".format(name="菜鳥教程", url="www.runoob.com"))
     
    # 通過字典設定引數
    site = {"name": "菜鳥教程", "url": "www.runoob.com"}
    print("網站名:{name}, 地址 {url}".format(**site))
     
    # 通過列表索引設定引數
    my_list = ['菜鳥教程', 'www.runoob.com']
    print("網站名:{0[0]}, 地址 {0[1]}".format(my_list))  # "0" 是必須的
    
    # 輸出的結果為
    網站名:菜鳥教程, 地址 www.runoob.com
    網站名:菜鳥教程, 地址 www.runoob.com
    網站名:菜鳥教程, 地址 www.runoob.com
    
  • 也可以向 str.format() 傳入物件:

    class AssignValue(object):
        def __init__(self, value):
            self.value = value
    my_value = AssignValue(6)
    print('value 為: {0.value}'.format(my_value))  # "0" 是可選的
    
    # 輸出結果為
    value 為: 6
    
  • 數字格式化

    print("{:.2f}".format(3.1415926));
    3.14
    

    str.format()格式化數字的多種方法

  • 此外我們可以使用大括號 {}

    來轉義大括號,如下例項:

    print ("{} 對應的位置是 {{0}}".format("runoob"))
    
    # 輸出結果為
    runoob 對應的位置是 {0}