python字符串格式化的三種方式


一、%格式化字符串

1、字符串格式代碼

2、常用轉義字符

3、實例

# %s表示字符串,%d表示整數類型,%f表示浮點類型的數字
info='我叫%s,你叫%s,他叫%s,今年是%d年'%('劉德華','張學友','郭富城',2020)
print(info)  #我叫劉德華,你叫張學友,他叫郭富城,今年是2020年


#補位數,當位數不足時,可以通過規定數字的長度進行補空格操作;比如設置數字為n,當輸入的位數只有m位(m<n)時,則補n-m位空格;如果m>n,則正常顯示所有字符
#對於數字而言,還可以根據需要在左側補0
info='我叫%5s,你叫%5s,他叫%05s,今年是%05d年'%('劉德華特洛夫斯基','張學友','郭富城',20)
print(info)  #我叫劉德華特洛夫斯基,你叫  張學友,他叫  郭富城,今年是00020年

# 上述方法默認所有的字符都是右對齊,如果需要左對齊,那么加上一個負號.
info='我叫%-5s,你叫%-5s,他叫%-5s,今年是%-05d年'%('劉德華','張學友','郭富城',20)
print(info)  #我叫劉德華  ,你叫張學友  ,他叫郭富城  ,今年是20   年(!!!無法進行補0操作)

小數保留位數:

>>> print('%f' % 1.11)  # 默認保留6位小數
1.110000
>>> print('%.1f' % 1.11)  # 取1位小數
1.1
>>> print('%e' % 1.11)  # 默認6位小數,用科學計數法
1.110000e+00
>>> print('%.3e' % 1.11)  # 取3位小數,用科學計數法
1.110e+00
>>> print('%g' % 1111.1111)  # 默認6位有效數字
1111.11
>>> print('%.7g' % 1111.1111)  # 取7位有效數字
1111.111
>>> print('%.2g' % 1111.1111)  # 取2位有效數字,自動轉換為科學計數法
1.1e+03 

二、str.format()格式化字符串

常規用法

name1='world'
name2='test'
print("hello,{},{}".format(name1,name2))# hello,world,test

通過位置訪問:

print("hello,{2}, {1}, {0}".format('a', 'b', 'c'))  #hello,c, b, a

通過關鍵字訪問:

print('Hello {name1},{name2},{name3}'.format(name1='testerzhang',name3="testerli",name2="testerwu") )
#Hello testerzhang,testerwu,testerli

dict={"name1":"testerzhang","name3":"testerli","name2":"testerwu"}
print("Hello {name1},{name2},{name3}".format(**dict)) #Hello testerzhang,testerwu,testerli

三、f-string格式化字符串

Python3.6 版本開始出現了此新的格式化字符串,性能又優於前面兩種方式

name1="world"
name2="test"
print(f"hello,{name1},{name2}") #hello,world,test
print(f"hello,{name1.upper()},{name2.upper()}")  #hello,WORLD,TEST

 


免責聲明!

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



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