python中的格式化輸出方法
前言:
有幾種方法可以顯示程序的輸出。 數(shù)據(jù)可以以人類可讀的形式打印,或?qū)懭胛募怨硎褂?,甚至可以以某種其他指定的形式。 用戶通常希望對輸出格式進行更多控制,而不是簡單地打印以空格分隔的值。 有幾種方法可以格式化輸出。
- 要使用格式化字符串文字,請在左引號或三引號之前以 f 或 F 開始字符串。
- 字符串的
format()
方法可幫助用戶創(chuàng)建更精美的輸出。 - 用戶可以通過使用字符串切片和連接操作來完成所有字符串處理,以創(chuàng)建用戶想要的任何布局。 string 類型有一些方法可以執(zhí)行有用的操作,將字符串填充到給定的列寬。
1 使用字符串模運算符(%)格式化輸出
% 運算符也可用于字符串格式化。 它將左參數(shù)解釋為與 C 語言字符串中的 printf() 樣式格式非常相似,以應(yīng)用于右參數(shù)。在 Python 中,沒有 printf() 函數(shù),但古老的 printf 的功能包含在 Python 中。 為此,字符串類重載了模運算符 % 以執(zhí)行字符串格式化。 因此,它通常被稱為字符串取模(有時甚至稱為模數(shù))運算符。
字符串模運算符 ( % ) 在 Python(3.x) 中仍然可用并且被廣泛使用。 但如今,舊式格式已從語言中刪除。
# 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))
輸出:
在我們的示例中有兩個:“%2d”和“%5.2f”。 格式占位符的一般語法是: %[flags][width][.precision]type
讓我們看一下示例中的占位符。
- 第一個占位符“%2d”用于我們元組的第一個組件,即整數(shù) 1。該數(shù)字將打印 2 個字符。 由于 1 僅包含一位數(shù)字,因此輸出用 1 個前導(dǎo)空白填充。
- 第二個“%5.2f”是浮點數(shù)的格式描述。 與其他占位符一樣,它以 % 字符引入。 后面是字符串應(yīng)包含的總位數(shù)。 這個數(shù)字包括小數(shù)點和所有數(shù)字,即小數(shù)點之前和之后。
- 我們的浮點數(shù) 05.333 必須格式化為 5 個字符。 數(shù)字的小數(shù)部分或精度設(shè)置為 2,即“.”后面的數(shù)字。 在我們的占位符中。 最后,占位符的最后一個字符“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'}")
輸出:
其中的括號和字符(稱為格式字段)被傳遞給 format() 方法的對象替換。 括號中的數(shù)字可用于表示傳遞給 format() 方法的對象的位置。
?例二:
# 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 方法格式化輸出
此輸出通過使用字符串切片和連接操作進行格式化。 字符串類型有一些方法可以幫助以更奇特的方式格式化輸出。 一些有助于格式化輸出的方法是 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)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python數(shù)據(jù)分析之如何刪除value=0的行
這篇文章主要給大家介紹了關(guān)于python數(shù)據(jù)分析之如何刪除value=0的行的相關(guān)資料,文中通過實例代碼以及圖文介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Python具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2022-12-12Python中實現(xiàn)輸入超時及如何通過變量獲取變量名
這篇文章主要介紹了Python中實現(xiàn)輸入超時以及通過變量獲取變量的名字,本文給大家分享了解決思路主要是通過多線程法實現(xiàn),需要的朋友可以參考下2020-01-01解決Matplotlib圖表不能在Pycharm中顯示的問題
今天小編就為大家分享一篇解決Matplotlib圖表不能在Pycharm中顯示的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-05-05Python+KgCaptcha實現(xiàn)驗證碼的開發(fā)詳解
驗證碼通常是為了區(qū)分用戶是人還是計算機,也可以防止解開密碼等惡意行為,而客戶端上多數(shù)會用在關(guān)鍵操作上?,F(xiàn)在驗證碼的種類樣式也特別多,本文主要介紹了如何用Python和KgCaptcha做出驗證碼功能,需要的可以參考一下2023-04-04python+mysql實現(xiàn)學(xué)生信息查詢系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了python+mysql實現(xiàn)學(xué)生信息查詢系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-02-02在python中利用numpy求解多項式以及多項式擬合的方法
今天小編就為大家分享一篇在python中利用numpy求解多項式以及多項式擬合的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-07-07