Python格式符說明


格式化輸出

例如我想輸出 我的名字是xxxx 年齡是xxxx

name = "Lucy"
age = 17
print("我的名字是%s,年齡是%d"%(name, age))

# %[(name)][flags][width][.precision]typecode
# []:可以省略
# (name)
# 表示,根據指定的名稱(key),查找對應的值,格式化到字符串當中
 
        
1 mathScore = 100
2 englishScore = 96
3 print("我的數學成績是%d,英文成績是%d"%(mathScore, englishScore)) 4 # 如果我想要把分數顛倒過來,除了下面這種方式還有其他方式嗎?
5 print("我的數學成績是%d,英文成績是%d"%(englishScore, mathScore)) 6 
7 # 可以使用下面這種方式(字典) 借助(name),用法%(name)d
8 print("我的數學成績是%(es)d,英文成績是%(ms)d"%({"es": englishScore, "ms": mathScore}))
 
        

 

1 # width 表示占用的寬度
2 print("%d" % mathScore) 3 
4 print("%10d" % mathScore)

輸出結果::

 
        
 flags,表示對齊的方式。默認右對齊
# 空:表示右對齊
# -:表示左對齊
# 空格:''為一個空格,表示在正數的左側填充一個空格,從而與負數對齊。
# 0:表示使用0填充
 
        
 1 print("%-10d" % mathScore)  2 # 無論有多少空格,都只會填充一個空格
 3 print("% d" % mathScore)  4 
 5 # 使用0填充 當輸出時間的時候,我們先設置寬度為2,然后在寬度前面添加0作為填充。如果數字寬度是1位,則用0填充,如果數字寬度是2位,則不進行填充
 6 min = 8
 7 sec = 9
 8 print("%02d:%02d" % (min, sec))  9 
10 min = 36
11 sec = 59
12 print("%02d:%02d" % (min, sec))
 
        

輸出結果::

 
        
# .precision  .precision表示的是數字小數點后的精度。當數字為整數的時候,使用%d,當數字是小數的時候,使用%f,精確到2位就使用.2,精確到10位就使用.10
 
        
1 score = 89.9
2 # 此時只能輸出89
3 print("%d" % score) 4 
5 # 此時小數點后面的數字就能輸出出來了
6 print("%.1f" % score) 7 
8 # 默認的小數點后面是6位
9 print("%f" % score)
 
        

輸出結果為:

89
89.9
89.900000

 

# typecode  這個是必填項

# 注意:二進制是0b開頭,八進制是0o開頭,十六進制是0x開頭
#
# i/d:將整數、浮點數轉換成十進制表示,並將其格式化到指定位置。
#
# o:將整數、浮點數轉換成八進制表示,並將其格式化到指定位置。
#
# x:將整數、浮點數轉換成十六進制表示,並將其格式化到指定位置。
#
# e:將整數、浮點數轉換成科學計數法表示,並將其格式化到指定位置(小寫e)。
#
# E:將整數、浮點數轉換成科學計數法表示,並將其格式化到指定位置(小寫E)。
#
# f:將整數、浮點數轉換成浮點數表示,並將其格式化到指定位置(默認小數點后保留6位)。
#
# F:將整數、浮點數轉換成浮點數表示,並將其格式化到指定位置(默認小數點后保留6位)。
#
# g:自動調整將整數、浮點數轉換成浮點型或科學計數法表示(超過6位使用科學計數法),並將其格式化到指定位置(如果是科學計數這是e)
#
# G:自動調整將整數、浮點數轉換成浮點型或科學計數法表示(超過6位使用科學計數法),並將其格式化到指定位置(如果是科學計數這是E)
 1 print("將二進制轉換成十進制::", end="")  2 print("%d" % 0b1010)  3 
 4 print("將八進制轉換成十進制::", end="")  5 print("%d" % 0o10)  6 
 7 print("將十六進制進制轉換成十進制::", end="")  8 print("%d" % 0x10)  9 
10 print("將十進制進制進制轉換成八進制::", end="") 11 print("%o" % 10) 12 
13 # 科學計數法表示
14 print("%e" % 18889999)
# 2.字符串
#
# s:獲取傳入對象的_str_方法的返回值,並將其格式化到指定位置。
#
# r:獲取傳入對象的_repr_方法的返回值,並將其格式化到指定位置。
#
# c:整數:將數字轉換成其Unicode對應的,10進制范圍0<=i<1114111(python27只支持0-255);字符:將字符添加到指定位置。

# 獲取指定數字的Unicode碼
print("%c" % 97)

# %:當字符串中存在格式化標志時,需要用%%表示一個百分號。99%
mScore = 99
print("%d%%" % mScore)

# python中百分號格式化是不存在自動將整數轉換成二進制表示的方式。
#
# %b是錯誤的
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM