Python「字串」的3種格式化技巧

2021-10-09 18:43:15 字數 4113 閱讀 3926

廢話不多說,直接上乾貨。

1.思維導圖: 

2.完整案例**: 

""""

3種字串格式化工具

1、python2.5版本之前,我們使用的是老式字串格式化輸出%s。

2、python3.0版本開始起(python2.6同期發布),python中同時支援兩個版本的格式化,多出來的乙個新版本就是利用format()函式,進行格式化輸出。

3、python3.6版本後,又引入了一種新的字串格式化方式f-string。

""""""

基本用法:

1、%格式化:佔位符%,搭配%符號一起使用;

2、format()格式化:佔位符{},搭配format()函式一起使用;

3、f-string格式化:佔位符{},搭配f符號一起使用;

"""a = "%s張飛、%s關羽、%s劉備、%s趙雲" % (1, 2, 3, 4)

print(a)

b = "{}張飛、{}關羽、{}劉備、{}趙雲".format(1, 2, 3, 4)

print(b)

c = f"張飛、關羽、劉備、趙雲"

print(c)

"""%格式化

字串格式化符號:

%c 格式化字元及其ascii碼

%s 格式化字串

%d 格式化整數

%u 格式化無符號整型

%o 格式化無符號八進位制數

%x 格式化無符號十六進製制數

%x 格式化無符號十六進製制數(大寫)

%f 格式化浮點數字,可指定小數點後的精度

%e 用科學計數法格式化浮點數

%e 作用同%e,用科學計數法格式化浮點數

%g %f和%e的簡寫

%g %f 和 %e 的簡寫

%p 用十六進製制數格式化變數的位址

* 定義寬度或者小數點精度,*代表數字 預設為左側填充

- 用做左對齊

+ 在正數前面顯示加號( + )

在正數前面顯示空格

# 在八進位制數前面顯示零('0'),在十六進製制前面顯示'0x'或者'0x'(取決於用的是'x'還是'x')

0 顯示的數字前面填充'0'而不是預設的空格

% '%%'輸出乙個單一的'%'

(var) 對映變數(字典引數)

m.n. m 是顯示的最小總寬度,n 是小數點後的位數(如果可用的話)

"""a = "四大天王:%s、%s、%s、%s" % ("劉德華", "郭富城", "張學友", "黎明")

print(a)

""" format() 格式化

"""# 第一種形式

b1 = "四大天王:{}、{}、{}、{}".format("劉德華", "郭富城", "張學友", "黎明")

print(b1)

# 第二種形式

b2 = "四大天王:、、、".format("劉德華", "郭富城", "張學友", "黎明")

print(b2)

# 第三種形式

x1 = "劉德華"

x2 = "郭富城"

x3 = "張學友"

x4 = "黎明"

b3 = "四大天王:、、、".format(p=x4, q=x2, r=x1, s=x3)

print(b3)

"""f-string格式化

"""# 直接在{}中輸入變數即可,位置隨意放

x1 = "劉德華"

x2 = "郭富城"

x3 = "張學友"

x4 = "黎明"

c = f"四大天王:、、、"

print(c)

"""填充功能:

當指定了字串最終的長度,但是現有的字串沒有那麼長,那麼我們就用某種字元(填充字元)來填滿至這個長度,這就是「填充」。

""""""

%格式化

1、格式:"%10s" % (「字串」),使用前仔細觀察書寫格式;

2、含義:上述10代表字串的填充長度。如果字串的長度,大於填充長度,填充長度無效;如果字串的長度,小於填充長度,則會將字串長度填充至指定的填充長度;

3、說明:預設是在字串左側填充;

"""a = "%s" % "趙先生"

print(a, len(a))

# 右對齊

b = "%10s" % "趙先生"

print(b, len(b))

# 左對齊

b = "%-10s" % "趙先生"

print(b, len(b))

c = "%10s" % "趙先生,今天早上沒有吃早飯,就去上班啦!"

print(c, len(c))

"""format()格式化

格式:"".format(「字串」),使用前仔細觀察書寫格式;

含義:上述10代表字串的填充長度。如果字串的長度,大於填充長度,填充長度無效;如果字串的長度,小於填充長度,則會將字串長度填充至指定的填充長度;

說明:預設是在字串右側填充;

"""a = "".format("錢先生")

print(a, len(a))

c = "".format("錢先生,今天早上沒有吃早飯,就去上班啦!")

print(c, len(c))

"""f-string格式化

格式:f"",使用前仔細觀察書寫格式;

含義:上述10代表字串的填充長度,name1代表某個字串變數。如果字串的長度,大於填充長度,填充長度無效;如果字串的長度,小於填充長度,則會將字串長度填充至指定的填充長度;

說明:預設是在字串右側填充;

"""name1 = "孫先生"

name2 = "孫先生,今天早上沒有吃早飯,就去上班啦!"

a = f""

print(a, len(a))

b = f""

print(b, len(b))

"""對齊功能:

"對齊"要與"填充"一起使用,才會顯得有意義。當我們進行填充的時候,我們可以選擇只在字串左側填充,也可以選擇只在字串右側填充,還可以選擇在字串兩側填充(字串居中顯示的填充方式);

""""""

%s方式填充

"""print("%10s" % "左填充")

print("%-10s" % "右填充")

""" format()方式填充

1、左對齊

2、右對齊

3、居中對齊

"""str = "format()填充"

# 左填充

print("".format(str))

# 右填充

print("".format(str))

# 居中填充

print("".format(str))

""" f-string方式

1、左對齊

2、右對齊

3、居中對齊

"""str = "f-string填充"

# 左側填充

print(f"")

# 右側填充

print(f"")

# 居中填充

print(f"")

""" 使用任意符號進行填充

使用format()與f-string兩種方式會比較簡單一些

"""str = "format()任意字元填充"

flag = "#"

print("".format(str))

print("".format(str))

print("".format(str))

str = "f-string()任意字元填充"

flag = "#"

print(f"")

print(f"")

print(f"")

print(f"")

print("%d" % 3000)

# 四捨五入保留3位小數

print("%.3f" % 3.1415926)

print("".format(3.1415926))

print(f"")

引數文件:

Python 字串格式化輸出的3種方式

1.print 我叫 s,身高 scm name,height 傳入的值為元組,依次填充 s 佔位符 str d 十進位制 整數 x 十六進製制 f 浮點型 指定長度 5d 右對齊,不足左邊補空格 5d 代表左對齊,不足右邊預設補空格 05d 右對齊,不足左邊補0 浮點數 f 預設是輸出6位有效資料...

Python 字串格式化

字串格式化 s 格式化為字串 format hello,s.s enough for ya?values world hot print format values hello,world.hot enough for ya?f 格式化為實數 浮點數 format pi with three dec...

python字串格式化

字串的格式化 在python中也有類似於c中的printf 的格式輸出標記。在python中格式化輸出字串使用的是 運算子,通用的形式為 其中,左邊部分的 格式標記字串 可以完全和c中的一致。右邊的 值組 如果有兩個及以上的值則需要用小括號括起來,中間用短號隔開。重點來看左邊的部分。左邊部分的最簡單...