python中的格式化輸出方法
前言:
有幾種方法可以顯示程序的輸出。 數(shù)據(jù)可以以人類可讀的形式打印,或?qū)懭胛募怨?lái)使用,甚至可以以某種其他指定的形式。 用戶通常希望對(duì)輸出格式進(jìn)行更多控制,而不是簡(jiǎn)單地打印以空格分隔的值。 有幾種方法可以格式化輸出。
- 要使用格式化字符串文字,請(qǐng)?jiān)谧笠?hào)或三引號(hào)之前以 f 或 F 開始字符串。
- 字符串的
format()方法可幫助用戶創(chuàng)建更精美的輸出。 - 用戶可以通過使用字符串切片和連接操作來(lái)完成所有字符串處理,以創(chuàng)建用戶想要的任何布局。 string 類型有一些方法可以執(zhí)行有用的操作,將字符串填充到給定的列寬。
1 使用字符串模運(yùn)算符(%)格式化輸出
% 運(yùn)算符也可用于字符串格式化。 它將左參數(shù)解釋為與 C 語(yǔ)言字符串中的 printf() 樣式格式非常相似,以應(yīng)用于右參數(shù)。在 Python 中,沒有 printf() 函數(shù),但古老的 printf 的功能包含在 Python 中。 為此,字符串類重載了模運(yùn)算符 % 以執(zhí)行字符串格式化。 因此,它通常被稱為字符串取模(有時(shí)甚至稱為模數(shù))運(yùn)算符。
字符串模運(yùn)算符 ( % ) 在 Python(3.x) 中仍然可用并且被廣泛使用。 但如今,舊式格式已從語(yǔ)言中刪除。
# print integer and float value
print("Geeks : %2d, Portal : %5.2f" % (1, 05.333))
?
# print integer value
print("Total students : %3d, Boys : %2d" % (240, 120))
?
# print octal value
print("%7.3o" % (25))
?
# print exponential value
print("%10.3E" % (356.08977))輸出:

在我們的示例中有兩個(gè):“%2d”和“%5.2f”。 格式占位符的一般語(yǔ)法是: %[flags][width][.precision]type
讓我們看一下示例中的占位符。
- 第一個(gè)占位符“%2d”用于我們?cè)M的第一個(gè)組件,即整數(shù) 1。該數(shù)字將打印 2 個(gè)字符。 由于 1 僅包含一位數(shù)字,因此輸出用 1 個(gè)前導(dǎo)空白填充。
- 第二個(gè)“%5.2f”是浮點(diǎn)數(shù)的格式描述。 與其他占位符一樣,它以 % 字符引入。 后面是字符串應(yīng)包含的總位數(shù)。 這個(gè)數(shù)字包括小數(shù)點(diǎn)和所有數(shù)字,即小數(shù)點(diǎn)之前和之后。
- 我們的浮點(diǎn)數(shù) 05.333 必須格式化為 5 個(gè)字符。 數(shù)字的小數(shù)部分或精度設(shè)置為 2,即“.”后面的數(shù)字。 在我們的占位符中。 最后,占位符的最后一個(gè)字符“f”代表“float”。
2 使用 format 方法格式化輸出
在 Python(2.6) 中添加了 format() 方法。 字符串的格式化方法需要更多的人工。用戶使用 {} 標(biāo)記變量將被替換的位置,并且可以提供詳細(xì)的格式化指令,但用戶還需要提供要格式化的信息。 此方法允許我們通過位置格式連接輸出中的元素。如下例所示:
例一:
# using format() method
print('I love {} for "{}!"'.format('Geeks', 'Geeks'))
?
# using format() method and referring
# a position of the object
print('{0} and {1}'.format('Geeks', 'Portal'))
?
print('{1} and {0}'.format('Geeks', 'Portal'))
?
?
# the above formatting can also be done by using f-Strings
# Although, this features work only with python 3.6 or above.
?
print(f"I love {'Geeks'} for \"{'Geeks'}!\"")
?
# using format() method and referring
# a position of the object
print(f"{'Geeks'} and {'Portal'}")輸出:

其中的括號(hào)和字符(稱為格式字段)被傳遞給 format() 方法的對(duì)象替換。 括號(hào)中的數(shù)字可用于表示傳遞給 format() 方法的對(duì)象的位置。
?例二:
# combining positional and keyword arguments
print('Number one portal is {0}, {1}, and {other}.'
? ? ?.format('Geeks', 'For', other ='Geeks'))
?
# using format() method with number
print("Geeks :{0:2d}, Portal :{1:8.2f}".
? ? ? format(12, 00.546))
?
# Changing positional argument
print("Second argument: {1:3d}, first one: {0:7.2f}".
? ? ? format(47.42, 11))
?
print("Geeks: {a:5d}, ?Portal: {p:8.2f}".
? ? ?format(a = 453, p = 59.058))輸出:

例三:
tab = {'geeks': 4127, 'for': 4098, 'geek': 8637678}
?
# using format() in dictionary
print('Geeks: {0[geeks]:d}; For: {0[for]:d}; '
? ? 'Geeks: {0[geek]:d}'.format(tab))
?
data = dict(fun ="GeeksForGeeks", adj ="Portal")
?
# using format() in dictionary
print("I love {fun} computer {adj}".format(**data))輸出:

?3 使用 String 方法格式化輸出
此輸出通過使用字符串切片和連接操作進(jìn)行格式化。 字符串類型有一些方法可以幫助以更奇特的方式格式化輸出。 一些有助于格式化輸出的方法是 str.rjust()、str.rjust() 和 str.centre()。
cstr = "I love geeksforgeeks"
? ?
# Printing the center aligned?
# string with fillchr
print ("Center aligned string with fillchr: ")
print (cstr.center(40, '#'))
?
# Printing the left aligned?
# string with "-" padding?
print ("The left aligned string is : ")
print (cstr.ljust(40, '-'))
?
# Printing the right aligned string
# with "-" padding?
print ("The right aligned string is : ")
print (cstr.rjust(40, '-'))輸出:

到此這篇關(guān)于python中的格式化輸出方法的文章就介紹到這了,更多相關(guān)python格式化輸出內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python Pyvis庫(kù)創(chuàng)建交互式網(wǎng)絡(luò)圖實(shí)例探究
這篇文章主要為大家介紹了Python Pyvis庫(kù)創(chuàng)建交互式網(wǎng)絡(luò)圖的實(shí)例探究,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-12-12
簡(jiǎn)單且有用的Python數(shù)據(jù)分析和機(jī)器學(xué)習(xí)代碼
Python編程是一種通用的編程語(yǔ)言,開源、靈活、功能強(qiáng)大且易于使用,python最重要的特性之一是其用于數(shù)據(jù)處理和分析任務(wù)的豐富實(shí)用程序和庫(kù)集,這篇文章主要給大家介紹了一些簡(jiǎn)單且有用的Python數(shù)據(jù)分析和機(jī)器學(xué)習(xí)代碼,需要的朋友可以參考下2021-07-07
Python如何通過手肘法實(shí)現(xiàn)k_means聚類詳解
K-means聚類算法是一種常見的無(wú)監(jiān)督學(xué)習(xí)算法,用于將數(shù)據(jù)集分成k個(gè)不同的簇,下面這篇文章主要給大家介紹了關(guān)于Python如何通過手肘法實(shí)現(xiàn)k_means聚類的相關(guān)資料,需要的朋友可以參考下2023-04-04
Numpy截取指定范圍內(nèi)的數(shù)據(jù)方法
今天小編就為大家分享一篇Numpy截取指定范圍內(nèi)的數(shù)據(jù)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧2018-11-11
Python中byte字符串轉(zhuǎn)string的實(shí)現(xiàn)
本文主要介紹了Python中byte字符串轉(zhuǎn)string的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07
Django Channels 實(shí)現(xiàn)點(diǎn)對(duì)點(diǎn)實(shí)時(shí)聊天和消息推送功能
這篇文章主要介紹了Django Channels 實(shí)現(xiàn)點(diǎn)對(duì)點(diǎn)實(shí)時(shí)聊天和消息推送功能,本文分步驟給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-07-07
Python實(shí)現(xiàn)的隨機(jī)森林算法與簡(jiǎn)單總結(jié)
這篇文章主要介紹了Python實(shí)現(xiàn)的隨機(jī)森林算法,結(jié)合實(shí)例形式詳細(xì)分析了隨機(jī)森林算法的概念、原理、實(shí)現(xiàn)技巧與相關(guān)注意事項(xiàng),需要的朋友可以參考下2018-01-01

