格式化字串方法

2021-10-07 18:29:34 字數 2807 閱讀 7256

一、最基礎方法:加號連線多個字串

eg:

salary =

input

('請輸入薪資:'

)# 計算出繳稅額,存入變數tax

tax =

int(salary)*25

/100

# 轉化為字串,方便下面的字串拼接

taxstr =

str(tax)

# 計算出稅後工資,存入變數aftertax

aftertax =

int(salary)*75

/100

# 轉化為字串,方便下面的字串拼接

aftertaxstr =

str(aftertax)

print

('稅前薪資是:'

+ salary +

'元, 繳稅:'

+ taxstr +

'元, 稅後薪資是:'

+ aftertaxstr +

'元')

二、printf 風格方法

print

('稅前薪資:%s元,繳稅:%s元,稅後薪資:%s元'

%(salary,tax,aftertax)

)

%s 是一種格式化符號, python 直譯器 看到 %s , 就會呼叫內建函式 str(),並將對應的 格式化物件 作為 引數傳入 , 返回的結果字串填入對應佔位符。

%s 為佔位符, 對應的格式化物件, 不僅僅是字串,還可以是整數、 浮點數、列表、元組 等

%d 和 %f用途:

1、%d

列印數字的時候,我們指定寬度,而且希望不足寬度 補零 ,而不是補空格,就可以這樣

'稅前薪資:%010d 元'

%100000

'稅前薪資:%010d 元'

%10000

'稅前薪資:%010d 元'

%1000

可以得到如下結果

稅前薪資:0000100000 元

稅前薪資:0000010000 元

稅前薪資:0000001000 元

2、%f

對於小數的格式化,通常使用 %f,如下

'稅前薪資:%010f 元'

%1000.4522

'稅前薪資:%010f 元'

%1008.6621

'稅前薪資:%010f 元'

%1009.3351

可以得到如下結果

稅前薪資:1000.452200 元

稅前薪資:1008.662100 元

稅前薪資:1009.335100 元

保留小數點後面2位數字,就可以加上 .2 像這樣

'稅前薪資:%010.2f 元'

%1000.4522

'稅前薪資:%010.2f 元'

%1008.6621

'稅前薪資:%010.2f 元'

%1009.3351

可以得到如下結果

稅前薪資:0001000.45 元

稅前薪資:0001008.66 元

稅前薪資:0001009.34 元

三、f-string 格式化(python直譯器是3.6 以後的版本)

print

(f'稅前薪資是:元, 繳稅:元, 稅後薪資是:元'

)

1、指定寬度

>>

> salary =

10000

>>

>

print

(f''

)10000

2、左對齊

print

(f'稅前薪資是:元, 繳稅:元, 稅後薪資是:元'

)執行結果如下:

稅前薪資是:8320 元, 繳稅:2080.0 元, 稅後薪資是:6240.0 元

3、小數點後位數

後面的.1f就表示小數點後面保留1位。

print

(f'稅前薪資是:元, 繳稅:元, 稅後薪資是:元'

)執行結果如下:

稅前薪資是: 8320.0元, 繳稅: 2080.0元, 稅後薪資是: 6240.0元

4、不足補零

print

(f'稅前薪資是:元, 繳稅:元, 稅後薪資是:元'

)calctax(

8320

)執行結果如下:

稅前薪資是:00008320元, 繳稅:002080.0元, 稅後薪資是:006240.0元

四、轉義符

a =

'abcd\nefg'

\n 是乙個轉義字元,表示乙個換行字元;

如果字串中本身需要有反斜槓,並非轉義,比如windows下面的路徑

path = 『c:\windows\temp』

其中的 \t 會被當做乙個tab字元,而不是 \ 和 t 兩個字元。這時,可以在在前面再加乙個反斜槓, 像下面這樣

path =

'c:\\windows\\temp'

也可以在字元前面加上乙個 r ,表示字串內容是raw string, 無需轉義,像這樣

path = r'c:\windows\temp'

字串格式化方法

1 形式 import time now time datetime.datetime.now strftime y m d print now time s now time 輸出 now time 2020 08 26 2 formate format 功能更強大,該函式把字串當成乙個模板,通過...

字串格式化的方法

1 格式化 flags width precision typecode flags 對其 式,左對 右對 預設 0表示 0填充 只針對數值型 預設是 空格填充 width 所佔寬度,單位是列 precision 精度,如果帶 數點,可以指定帶 位 數,指定後會四捨五 typecode d 將數值轉...

字串格式化

sprintf snprintf snprintf std stringstream std strstream boost lexical cast boost format cstring format 1 sprintf 使用 sprintf 不安全,輕則破壞資料的準確性,重則程式崩潰。請看下...