python初級 2 字符串格式化
阿新 • • 發佈:2018-01-14
pytho log 變量 百分點 復雜 col nbsp tom pri
一、回顧
上次我們講解的數據類型,有int,float,str,bool,NoneType五種
前兩種和後兩種都比較簡單,str較為復雜
二、字符串格式化的使用場景:
有一種字符串, xxx 的內容都是根據變量變化的,所以,需要一種簡便的格式化字符串的方 式。
例如
1“親愛的 xxx 你好!你 xx 月的話費是 xx元,余額是 xx元”
具體化後:
”親愛的林雪峰你好!你12月的話費是85元,余額是15元”
”親愛的小紅你好!你8月的話費是35元,余額是20元”
”親愛的小明你好!你9月的話費是55元,余額是30元”
用程序表達:
In [64]: print("親愛的%s你好!你%d月的話費是%d元,余額是%d元" % ("林雪峰", 12, 85, 15))親愛的林雪峰你好!你12月的話費是85元,余額是15元In [65]: print("親愛的%s你好!你%d月的話費是%d元,余額是%d元" % ("小紅", 8, 35, 20))親愛的小紅你好!你8月的話費是35元,余額是20元In [66]: print("親愛的%s你好!你%d月的話費是%d元,余額是%d元" % ("小明", 9, 55, 30))親愛的小明你好!你9月的話費是55元,余額是30元
2“本次考試,xxx的xx成績是xx分”
具體化後:
”本次考試,張宏遠的數學成績是100分”
”本次考試,李華的語文成績是90分”
用程序表達:
In[67]: print("本次考試,%s的%s成績是%d分" % ("張宏遠", "數學", 100))本次考試,張宏遠的數學成績是100分In [68]: print("本次考試,%s的%s成績是%d分" % ("李華", "語文", 90))本次考試,李華的語文成績是90分
三、總結:
%運算符就是用來格式化字符串的。
在字符串內部,%s 表示用字符串替換,
%d 表示用整數替換,有幾個%?占位符,後面就跟幾個變量或者值,順序要對應好。
常見的占位符有:
1、%d 整數
2、%f 浮點數
3、%s 字符串
四、整數格式化:
可以指定是否補 0 或是空格
In [70]: print("[%2d-%02d]" % (3, 2))[ 3-02]In [71]: print("[%3d-%03d]" % (30, 20))[ 30-020]
五、小數格式化:
In [72]: print("[%.2f-%.3f]" % (3.1516, 3.1516))[3.15-3.152]In [73]: print("[%.1f-%.2f]" % (3.1516, 3.1516))[3.2-3.15]
六、例外情況
格式化轉義:
比如要打印: 100%優秀
In [76]: print("%d%%優秀" % (90))90%優秀In [77]: print("%d%%優秀" % (100))100%優秀
練習
小明的成績從去年的 72 分提升到了今年的 85 分,請計算小明成績提升的百分點,並用字符串格式化顯示出‘xx.x%‘,只保留小數點後 1 位:
python初級 2 字符串格式化