字符串拼接 %s % (%s表示將插入一個(gè)字符串類型的數(shù)據(jù) str)
就相當(dāng)于 %s 是一個(gè)占位符,而句子后面的 %后面就是 要填入前面的值
1
2
|
a = '我是%s 我16歲了' % 'adam' print (a) #我是adam 我16歲了 |
一、這種占位符有很多
1、%s (str)這個(gè)是萬能的 能接受各種數(shù)據(jù) 它寫浮點(diǎn)數(shù)的時(shí)候 不進(jìn)行四舍五入
2、%d (int)插入整型數(shù)字
3、%f 浮點(diǎn)數(shù) 打印浮點(diǎn)數(shù)(小數(shù))
最好將他們區(qū)分使用 不要只使用 %s
二、具體的使用方式
1、可以一次多插入幾個(gè)數(shù)值
1
2
3
|
b = 'adam' a = '我是%s 我%d歲了' % (b, 16 ) print (a) #我是adam 我16歲了 |
2、打印浮點(diǎn)數(shù)(小數(shù))
這里 f 前面 2 指的是 保留小數(shù)點(diǎn)后2位
1
2
|
a = '我%.2f歲了' % 16.53333 #保留小數(shù)點(diǎn)后兩位 會(huì)進(jìn)行四舍五入 print (a) #我16.53歲了 |
3、打印百分?jǐn)?shù)
f 后面 添加2個(gè)% 是在插入值后面顯示一個(gè)%的意思
1
2
|
a = '含量%.2f%%' % 16.53333 print (a) #含量16.53 % |
4、調(diào)用字典進(jìn)行拼接
它通過索引key的方式進(jìn)行填充占位的值
1
2
|
a = '我是%(name)s 我%(age)d歲了' % { 'name' : 'adam' , 'age' : 16 } print (a) #我是adam 我16歲了 |
5、sep 設(shè)置分割符號
sep的賦值 就是 分割符號,會(huì)被依次填入每個(gè)元素之間 引號里面的空格也算
1
|
print ( 'a' , 'b' , 'c' , 'd' ,sep = ' = ' ) #a = b = c = d |
6、flags 格式符號
這并不太常用
+,右對齊 可以設(shè)置算上插入字符的總長度,缺少的位用空格不上
1
2
|
a = '我是%(name)+20s 我%(age)d歲了' % { 'name' : 'adam' , 'age' : 16 } print (a) #我是 adam 我16歲了 |
- ,左對齊 可以設(shè)置算上插入字符的總長度,缺少的位用空格不上
1
2
|
a = '我是%(name)-20s 我%(age)d歲了' % { 'name' : 'adam' , 'age' : 16 } print (a) #我是adam 我16歲了 |
空格,右對齊
0,右對齊
三、format
1、默認(rèn)使用 拼接
format也是通過占位符把元素填入字符串內(nèi)部的
使用 { }大括號進(jìn)行占位 默認(rèn)將元素依次填入前面的大括號里面
如果填入的元素?cái)?shù)量不足則會(huì)報(bào)錯(cuò)
1
2
|
a = '我是{},我{}歲了' . format ( 'adam' , 16 ) print (a) #我是adam,我16歲了 |
2、使用索引以及切片進(jìn)行拼接
使用元素的索引位,進(jìn)行拼接,可以重復(fù)取一個(gè)元素 但是不能超出元祖的 索引位范圍
1
2
|
a = '我是{1},我{0}歲了' . format ( 'adam' , 16 ) print (a) #我是16,我adam歲了 |
使用切片的方式 進(jìn)行拼接
1
2
|
a = '我是{0[1]},我{1}歲了' . format ([ 1 , 2 , 3 ], 16 ) print (a) #我是2,我16歲了 |
3、調(diào)用元祖進(jìn)行拼接
用變量名的形式進(jìn)行占位
1
2
|
a = '我是{a},我{b}歲了,我喜歡吃{c}' . format (a = 'adam' ,b = 16 ,c = '鹵煮' ) print (a) #我是adam,我16歲了,我喜歡吃鹵煮 |
4、使用字典作為format的元素庫
只需要在format 元素庫的前面 加上** 兩個(gè)星號
1
2
|
a = '我是{a},我{b}歲了,我喜歡吃{c}' . format ( * * { "a" : "adam" , "b" : 16 , "c" : "鹵煮" }) print (a) #我是adam,我16歲了,我喜歡吃鹵煮 |
5、使用列表作為format的元素庫
只需要在format 元素庫的前面 加上* 兩個(gè)星號
而且還可以結(jié)合 索引拼接
1
2
|
a = '我是{2},我{1}歲了,我喜歡吃{0}' . format ( * [ 'adam' , 16 , '鹵煮' ]) print (a) #我是鹵煮,我16歲了,我喜歡吃adam |
6、占位計(jì)算符
也可在占位符號的位置放入 插入符號如
這些符號會(huì)對插入的賦值進(jìn)行相應(yīng)的轉(zhuǎn)換計(jì)算
{:b} 2進(jìn)制
{:o} 8進(jìn)制
{:d} 整型
{:x} 16進(jìn)制且字母部分小寫
{:X} 16進(jìn)制且字母部分大寫
{:%} 顯示百分比默認(rèn)顯示小數(shù)點(diǎn)后6位
1
2
|
a = '數(shù)字:{:b},{:o},{:d},{:x},{:X},{:%}' . format ( 15 , 15 , 15 , 15 , 15 , 0.23789546777 ) print (a) #數(shù)字:1111,17,15,f,F,23.789547% |
PS:
#*和**的意思就是
1、* 把列表中的元素 按順序一次取出
2、** 就是把字典的 鍵值 依次取出 并且變成 變量賦值的形式 :(a='adam',b = 16,c='鹵煮')
PS
輸出背景 字體格式以及 字體背景顏色是可以通過以下命令設(shè)置的
從\033[43;1m 到 \033[0m 之間的字符全部被加上了背景色,43控制字體背景填充的顏色 字體格式等
1
2
|
a = '我是\033[45;1m%(name)s\033[0m 我\033[42;1m%(age)d\033[0m歲了' % { 'name' : 'adam' , 'age' : 16 } print (a) #我是adam 我16歲了 |
總結(jié)
本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注服務(wù)器之家的更多內(nèi)容!
原文鏈接:https://blog.csdn.net/weixin_56164201/article/details/121020690