Python是一門強大的解釋型編程語言,被廣泛地用於各種應用場景。在Python應用中,數據的輸出通常是必不可少的一部分,然而簡單的輸出方式很難滿足複雜的顯示需求。為了面對這種情況,Python提供了format()方法來進行數據輸出格式化。
一、格式化語法
format()方法通過一種類似於佔位符的語法來實現數據輸出格式化,這種語法可以非常靈活地滿足各種複雜輸出需求。在一個字符串中,可以用一對花括號({})來表示一個格式化的要素,然後在調用format()方法時,向花括號中傳入一個或多個參數來指定具體輸出的內容。
二、基本用法示例
下面給出一些基本的用法示例:
print("{} {}".format("Hello", "World")) # Hello World print("{0} {1}".format("Hello", "World")) # Hello World print("{1} {0} {1}".format("Hello", "World")) # World Hello World print("{:.2f}".format(3.1415926)) # 3.14
在第一個例子中,”Hello”和”World”分別被傳入了花括號中,按順序輸出。在第二個例子中,”{0}”和”{1}”表示了第一個參數和第二個參數,因此輸出結果與第一個例子相同。在第三個例子中,可以發現通過”{1}”的反覆調用實現了對同一個參數的不同輸出。在最後一個例子中,”{:.2f}”表示對參數進行保留兩位小數的輸出。
三、格式化槽
格式化槽用來指定輸出的格式,它們是一組用花括號括起來的數字、關鍵字或名稱。這組括號內的內容可以是一個數字,與傳遞的參數一一對應。也可以用關鍵字或名稱來決定傳遞的參數。
如下所示:
print("{:d}".format(10)) # 10 print("{:f}".format(3.1415926)) # 3.141593 print("{:e}".format(10000000000)) # 1e+10 print("{:x}".format(255)) # ff print("{:#x}".format(255)) # 0xff print("{:o}".format(10)) # 12
可以看到,這裡的格式化槽可以用來控制輸出數字的進制、小數點位數、科學計數法等等。
四、參數指定
format()方法的參數可以在花括號中排列,例如:{0} {1},或者通過賦值操作來指定參數,例如:{name} {age}。參數通過位置或名稱在花括號中使用。如果是位置參數,可以按照數字和名稱的順序來傳遞值,可以用單個花括號中的數字。如果是關鍵字參數,可以在open()函數中通過名稱來傳遞值:
print("{0}:{1}:{2}".format(1, 2, 3)) # 1:2:3 print("This is {book} by {author}".format(book="Python", author="Guido van Rossum")) # This is Python by Guido van Rossum
五、對齊、填充和寬度
使用格式化槽可以對文本進行填充、對齊和指定輸出寬度。以下是一些基本用法示例:
print("{:15}".format("right aligned")) # right aligned print("{:^15}".format("centered")) # centered print("{:*^15}".format("centered")) # *****centered***** print("{:+f} {:+f}".format(3.14, -3.14)) # +3.140000 -3.140000 print("{:-f} {:-f}".format(3.14, -3.14)) # 3.140000 -3.140000 print("{: f} {: f}".format(3.14, -3.14)) # 3.140000 -3.140000 print("{:,}".format(1234567890)) # 1,234,567,890
可以看到,通過指定寬度、字符填充和對齊方式,可以實現非常優雅的文本格式化效果。
六、指定項
最後,format()方法也允許通過名稱或數字來指定元素。可以使用“{}”(空括號)引用傳遞的參數:
points = [{'x': 4, 'y': 3}, {'x': 1, 'y': 2}] print("{0[x]} {0[y]} {1[x]} {1[y]}".format(*points)) # 4 3 1 2
以上就是Python的format()方法的基本用法介紹,希望可以幫助讀者更好地進行數據輸出格式化。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/200823.html