python中的格式化輸出方法
前言:
有幾種方法可以顯示程序的輸出。 數(shù)據(jù)可以以人類可讀的形式打印,或?qū)懭胛募怨?lái)使用,甚至可以以某種其他指定的形式。 用戶通常希望對(duì)輸出格式進(jìn)行更多控制,而不是簡(jiǎn)單地打印以空格分隔的值。 有幾種方法可以格式化輸出。
- 要使用格式化字符串文字,請(qǐng)?jiān)谧笠?hào)或三引號(hào)之前以 f 或 F 開(kāi)始字符串。
- 字符串的
format()
方法可幫助用戶創(chuàng)建更精美的輸出。 - 用戶可以通過(guò)使用字符串切片和連接操作來(lái)完成所有字符串處理,以創(chuàng)建用戶想要的任何布局。 string 類型有一些方法可以執(zhí)行有用的操作,將字符串填充到給定的列寬。
1 使用字符串模運(yùn)算符(%)格式化輸出
% 運(yùn)算符也可用于字符串格式化。 它將左參數(shù)解釋為與 C 語(yǔ)言字符串中的 printf() 樣式格式非常相似,以應(yīng)用于右參數(shù)。在 Python 中,沒(méi)有 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ì)的格式化指令,但用戶還需要提供要格式化的信息。 此方法允許我們通過(guò)位置格式連接輸出中的元素。如下例所示:
例一:
# 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 方法格式化輸出
此輸出通過(guò)使用字符串切片和連接操作進(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)文章希望大家以后多多支持腳本之家!
- python中的格式化輸出用法總結(jié)
- python格式化輸出保留2位小數(shù)的實(shí)現(xiàn)方法
- Python中使用pprint函數(shù)進(jìn)行格式化輸出的教程
- 淺談Python 字符串格式化輸出(format/printf)
- python print 格式化輸出,動(dòng)態(tài)指定長(zhǎng)度的實(shí)現(xiàn)
- Python格式化輸出%s和%d
- python常見(jiàn)的格式化輸出小結(jié)
- python 格式化輸出百分號(hào)的方法
- python format 格式化輸出方法
- Python格式化輸出的具體實(shí)現(xiàn)
相關(guān)文章
python數(shù)據(jù)分析之如何刪除value=0的行
這篇文章主要給大家介紹了關(guān)于python數(shù)據(jù)分析之如何刪除value=0的行的相關(guān)資料,文中通過(guò)實(shí)例代碼以及圖文介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Python具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2022-12-12Python中實(shí)現(xiàn)輸入超時(shí)及如何通過(guò)變量獲取變量名
這篇文章主要介紹了Python中實(shí)現(xiàn)輸入超時(shí)以及通過(guò)變量獲取變量的名字,本文給大家分享了解決思路主要是通過(guò)多線程法實(shí)現(xiàn),需要的朋友可以參考下2020-01-01詳解DeBug Python神級(jí)工具PySnooper
這篇文章主要介紹了詳解DeBug Python神級(jí)工具PySnooper,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07解決Matplotlib圖表不能在Pycharm中顯示的問(wèn)題
今天小編就為大家分享一篇解決Matplotlib圖表不能在Pycharm中顯示的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-05-05Python+KgCaptcha實(shí)現(xiàn)驗(yàn)證碼的開(kāi)發(fā)詳解
驗(yàn)證碼通常是為了區(qū)分用戶是人還是計(jì)算機(jī),也可以防止解開(kāi)密碼等惡意行為,而客戶端上多數(shù)會(huì)用在關(guān)鍵操作上。現(xiàn)在驗(yàn)證碼的種類樣式也特別多,本文主要介紹了如何用Python和KgCaptcha做出驗(yàn)證碼功能,需要的可以參考一下2023-04-04python+mysql實(shí)現(xiàn)學(xué)生信息查詢系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了python+mysql實(shí)現(xiàn)學(xué)生信息查詢系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-02-02在python中利用numpy求解多項(xiàng)式以及多項(xiàng)式擬合的方法
今天小編就為大家分享一篇在python中利用numpy求解多項(xiàng)式以及多項(xiàng)式擬合的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-07-07