1. 程式人生 > >python初級 2 字符串格式化

python初級 2 字符串格式化

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 字符串格式化