您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關python中如何格式化輸出,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
前言:
有幾種方法可以顯示程序的輸出。 數據可以以人類可讀的形式打印,或寫入文件以供將來使用,甚至可以以某種其他指定的形式。 用戶通常希望對輸出格式進行更多控制,而不是簡單地打印以空格分隔的值。 有幾種方法可以格式化輸出。
要使用格式化字符串文字,請在左引號或三引號之前以 f 或 F 開始字符串。
字符串的format()
方法可幫助用戶創建更精美的輸出。
用戶可以通過使用字符串切片和連接操作來完成所有字符串處理,以創建用戶想要的任何布局。 string 類型有一些方法可以執行有用的操作,將字符串填充到給定的列寬。
% 運算符也可用于字符串格式化。 它將左參數解釋為與 C 語言字符串中的 printf() 樣式格式非常相似,以應用于右參數。在 Python 中,沒有 printf() 函數,但古老的 printf 的功能包含在 Python 中。 為此,字符串類重載了模運算符 % 以執行字符串格式化。 因此,它通常被稱為字符串取模(有時甚至稱為模數)運算符。
字符串模運算符 ( % ) 在 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”用于我們元組的第一個組件,即整數 1。該數字將打印 2 個字符。 由于 1 僅包含一位數字,因此輸出用 1 個前導空白填充。
第二個“%5.2f”是浮點數的格式描述。 與其他占位符一樣,它以 % 字符引入。 后面是字符串應包含的總位數。 這個數字包括小數點和所有數字,即小數點之前和之后。
我們的浮點數 05.333 必須格式化為 5 個字符。 數字的小數部分或精度設置為 2,即“.”后面的數字。 在我們的占位符中。 最后,占位符的最后一個字符“f”代表“float”。
在 Python(2.6) 中添加了 format() 方法。 字符串的格式化方法需要更多的人工。用戶使用 {} 標記變量將被替換的位置,并且可以提供詳細的格式化指令,但用戶還需要提供要格式化的信息。 此方法允許我們通過位置格式連接輸出中的元素。如下例所示:
例一:
# Python program showing # use of format() method # 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() 方法的對象替換。 括號中的數字可用于表示傳遞給 format() 方法的對象的位置。
例二:
# Python program showing # a use of format() method # 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))
輸出:
例三:
# Python program to # show format () is # used in dictionary 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))
輸出:
此輸出通過使用字符串切片和連接操作進行格式化。 字符串類型有一些方法可以幫助以更奇特的方式格式化輸出。 一些有助于格式化輸出的方法是 str.rjust()、str.rjust() 和 str.centre()。
# Python program to # format a output using # string() method 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, '-'))
輸出:
關于“python中如何格式化輸出”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。