-
將使用 python2%-formatting跟格式化,然後在python版本開始,增加f-strings語法,下面將詳細介紹這三種格式化方法。
最早的格式是使用Sakura %(百分號),使用示例如下:
執行:%s這裡格式化為spine字串,常用的有%d(十進位整數)、%f(浮點數)等。
此外,還支援使用字典形式:
跑:一般用法:
跑:通過位置訪問:
跑:通過關鍵字訪問:
執行:版本開始具有新的格式化字串,這反過來又優於前兩種方式。
執行: 執行:
可以看出,第三種方式比第二種方式要好:
1.第二種方式是變數不容易閱讀,而第三種更直觀
2.解決後變數後變數問題超長問題
-
Python 識別格式化輸出中的格式表示法
在上一篇文章中,我們已經接觸過 python 中的輸出函式 prinnt(),顧名思義就是輸出,即程式對使用者的輸出內容。 現在,本文不再討論如此簡單的 print() 輸出,而是格式化輸出。 格式化輸出含義:
它是向使用者輸出格式化資料的程式。
輸出:prinnt()。
print 函式返回乙個數字 30,但沒有人知道返回的資料 30 是 30 年還是 30 年,還是具有其他含義的數字。 如果這裡有乙個要求:輸出“我今年的年齡是 30 歲”,那麼這個要求中的 30 是取我們 age = 30 變數中儲存的資料,這個操作就是格式化輸出。
設定輸出格式
格式化輸出含義:所謂櫻花輪格式化輸出,就是按照一定的格式輸出內容。
以下兩點說明格式輸出。
設定符號的格式
這裡有一些python內建的好格式化符號,你不必全部記住,只要重點學習前三個常用的,剩下的拿出這個筆記去檢查一下就行了。
s:是格式化的字串,%s 中的 s 表示 str 字串型別的縮寫,書脊摺疊以便於記憶。
d:表示有符號對的小數,有符號表示整數前面有正號或負號,有符號表示可以有正號或負號。 %u 代表乙個無符號十進位整數,即它只包含正整數,當它無用時,我們一般使用 %d 來更全面。
f:資料型別浮點數縮寫的第乙個字母 f
-
Python 字串格式化是指使用 format 函式來格式化字串的用法。
用法:它用 {} 和 : 替換了傳統的 % 方式。
1. 使用位置引數。
重要提示:從以下示例可以看出,位置引數不受順序約束,可以是{},只要格式中有對應的引數值,引數索引從0開始開啟,傳入的位置引數列表就可以在*列表中使用。
> li = ['hoho',18]
> 'my name is {}age {}'.format('hoho',18)
my name is hoho ,age 18'
> 'my name is ,age '.format(10,'hoho')
my name is hoho ,age 10'
> 'my name is ,age '.format(10,'hoho')
my name is hoho ,age 10 hoho'
> 'my name is {}age {}'.format(*li)
my name is hoho ,age 18'
2.使用關鍵字引數。
要點:為了匹配關鍵字引數的值,可以使用字典作為關鍵字引數的輸入值,並在字典前新增**。
> hash =
> 'my name is ,age is '.format(name='hoho',age=19)
my name is hoho,age is 19'
> 'my name is ,age is '.format(**hash)
my name is hoho,age is 18'
3.填寫和格式化。
填充字元][對齊方式<寬度]。
> ''.format(10) 是右對齊的。
> ''.format(10) 左對齊。
> ''.format(10) 居中對齊。
4.精度和基本系統。
> ''.format(1/3)
>>>''.format(10) 二進位檔案。
> ''.格式(10) 八進位。
> ''.格式(10) 十六進製。
a'>>>''.format(12369132698) 千分之一格式。
5. 使用索引。
> li
hoho', 18]
> 'name is age is '.format(li)
name is hoho age is 18
-
有很多角色。
可能是為了更有意義的列印輸出。
這可能是為了檔案要求,尤其是在有協議的情況下。
-
我想將字串轉換為JSON格式。
-
設定輸出格式
我們有兩種截然不同的輸出值方法:expression 語句和 print() 函式(第三種方法是使用檔案物件的 write() 方法,可以在標準檔案輸出中找到,有關詳細資訊,請參閱庫參考)。
通常,您希望對輸出進行更多的格式控制,而不是簡單地列印空格分隔值。 有兩種方法可以設定輸出格式:第一種方法是自己處理整個字串,通過使用字串切割和連線操作,您可以建立所需的任何形式的輸出。
字串型別包含一些有用的操作,用於將字串填充到指定列的寬度,稍後將對此進行討論。 第二種方法是使用方法。
標準模組字串包括將字串填充到給定列中時非常有用的操作。 我們稍後再談。 第二種方法是使用模板方法。
當然,還有乙個問題,如何將值轉換為字串? 幸運的是,Python 有一種方法可以將任何值轉換為字串,方法是將其傳遞給 repr() 或 str() 函式。
函式 str() 用於將值轉換為人類可讀的形式,將 repr() 轉換為人類可讀的形式(如果沒有等效語法,則會發生語法錯誤異常) 如果物件沒有人類可讀的解釋形式,str() 將返回乙個與 repr() 等效的值。 許多型別(如數字或鍊表和字典)對每個函式都有統一的解釋。 字串和浮點數具有解釋腔燃燒的獨特方式。
-
格式說明。
百分比標記是百分比的輸出
C 字元及其 ASCII 程式碼。
s 字串。
d 有符號整數(十進位)。
u 無符號整數(十進位)。
o 無符號整數(八進位)。
x 是乙個無符號整數(十六進製)。
x 是無符號整數(十六進製大寫字元)。
e 浮點數(科學記數法)。
e 浮點數(科學記數法,使用 e 而不是 e)。
f 浮點數(帶小數點符號)。
g 浮點數(%e 或 %f,取決於值的大小)。
g 浮點數(類似於 %g)。
p 指標(以十六進製列印值的記憶體位址)。
n 儲存輸出字元數,並將它們放入引數列表中的下乙個變數中。
格式化程式也可以在字典中使用,並且可以使用字典中的 %(name) 引用元素進行格式化,以設定輸出格式。
負號表示數字應左對齊,“0”告訴 python 用前導 0 填充數字,正號始終顯示其加號或減號(+,符號,即使數字為正數。
您可以指定最小字段寬度,例如:"%5d" % 2。您還可以使用句點間隔來指定其他精度,例如:"%.3d" % 3。
示例:數字格式。
nyear = 2018
nmonth = 8
nday = 18
將日期 %02d 位數的格式設定為兩位數,並為缺少的整數填寫 0
print '%04d-%02d-%02d'%(nyear,nmonth,nday)
輸出結果。
fvalue =
print '%'%fvalue 保留寬度為 6 的 2 位浮點數。
輸出。 print '%d'%10 輸出十進位。
print '%o'%10 輸出八進位。
print '%02x'%10 輸出兩位十六進製,零為小寫字母。
0aprint '%04x'%10 輸出乙個四位十六進製,其中有乙個大寫的字母來填充空白。
000aprint '%.2e'% 輸出浮點型別,採用科學記數法,小數點後 2 位。
格式化運算子幫助程式指令。
符號功能。
定義寬度或小數點精度。
用於左對齊。
在正數前顯示加號 ( +
在正數前面顯示乙個空格。
顯示零 ('0'),顯示在十六進製前面'0x'或'0x'(視情況而定。
是的'x'還'x')
0 顯示前面有“0”的數字,而不是預設空格。
%%'輸出單個'%'
var) 對映變數(字典引數)。
m 是顯示器的最小總寬度,n 是小數點後的位數(如果可用)。
使用字串就是使用它的第乙個位址(有時和長度,實際上,擁有第乙個位址就足夠了),無論字串有多長。 最明顯的例子是,當乙個(常量)字串作為引數及其第乙個位址傳遞時。 所以你的比較只是位址的比較。
您可以嘗試輸出,scanf 函式是從緩衝區讀取的資料,第二個字串的資料是空格或換行符製表符。 您可以單獨讀取它們,但在兩者之間新增 fflush(stdin); 清除緩衝區。