字串格式化的方法

2021-10-09 17:44:49 字數 2087 閱讀 8711

1⽤%格式化:

%[flags][width][.precision]typecode

flags:對其⽅式,-左對⻬ +右對⻬(預設),0表示⽤0填充(只針對數值型),預設是⽤

空格填充

width:所佔寬度,單位是列

.precision: 精度,如果帶⼩數點,可以指定帶⼏位⼩數,指定後會四捨五⼊

typecode: d 將數值轉換為整型顯示;f 將數值轉換為浮點數顯示 s將數值轉換為字

符串顯示

#⼤家好,我叫 王尼瑪,我今年35歲了,我有5000000.69

print("⼤家好,我叫%+6s,我今年%d歲了,我有%10.2f" % ('王尼

瑪',35,5000000.687))

2⽤format格式化:

str.format() ⽅法通過字串中的花括號 {} 來識別替換字段 replacement field,

從⽽完成字串的格式化。

替換字段 由欄位名 field name 和轉換字段 conversion field 以及格式說明符

format specifier 組成,即⼀般形式為 :

欄位名分為簡單欄位名 ****** field name 和復合欄位名 compound field

name。轉換欄位和格式說明符都是可選的。

欄位名寫法有三種:

1 省略欄位名

tp1 = 「i am {}, age {}, {}」.format(「seven」, 18, 『alex』)

2 數字形式的欄位名

可以通過數字形式的簡單欄位名傳遞位置引數。

數字必須是⼤於等於 0 的整數。

帶數字的替換字段可以重複使⽤。

數字形式的簡單欄位名相當於把 format 中的所有位置引數整體當作⼀個元組,通過

欄位名中的數字進⾏取值。

即 等價於 tuple[0],所以花括號內的數字不能越界。

通過數字形式的簡單欄位名傳遞位置引數

print(『身⾼,家住。』.format(1.8, 『銅鑼灣』))

數字形式的簡單欄位名可以重複使⽤。

print(『我愛。\n她今年。\n也愛我。』.format(『阿⾹』, 17))

3 變數名

使⽤變數名形式的簡單欄位名傳遞關鍵字引數。

關鍵字引數的位置可以隨意調換。

tp2 = 「i am , age , really 」.format(name=「seven」,

age=18)

print(tp3) #i am seven, age 18, money 88888

關鍵字引數的順序可以隨意調換

print(『我⼤哥是,今年歲。』.format(age=20, name=『阿⻜』))

轉換字段 conversion field 的取值有三種,前⾯要加 ! :

s :傳遞引數之前先對引數調⽤ str()

r :傳遞引數之前先對引數調⽤ repr()

a :傳遞引數之前先對引數調⽤ ascii()

print("---".format("hello",90))

print("---".format("hello",'該死的新冠'))

格式化說明符如下圖所示:

fill: 填充字元,可選,必須只能是⼀個字元,如果指定填充字元,則必須要同時指

定對⻬⽅式

align: 對⻬⽅式 《左對⻬ >右對⻬ ^居中對⻬

sign:顯示符號,+正數顯示正號,負數顯示符號;-正數不顯示符號,負數顯示符號

#: 對於2、8、16進製制會顯示0b 0o 0x

width: 寬度

, 千分位分隔符

.precision:精度

type: s字串 d整型 f浮點數

格式化字串方法

一 最基礎方法 加號連線多個字串 eg salary input 請輸入薪資 計算出繳稅額,存入變數tax tax int salary 25 100 轉化為字串,方便下面的字串拼接 taxstr str tax 計算出稅後工資,存入變數aftertax aftertax int salary 75...

字串格式化方法

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 功能更強大,該函式把字串當成乙個模板,通過...

字串格式化

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