Python學(xué)習(xí)之字符串格式化
字符串拼接 %s % (%s表示將插入一個(gè)字符串類(lèi)型的數(shù)據(jù) str)
就相當(dāng)于 %s 是一個(gè)占位符,而句子后面的 %后面就是 要填入前面的值
a = '我是%s 我16歲了' %'adam' print(a) #我是adam 我16歲了
一、這種占位符有很多
1、%s (str)這個(gè)是萬(wàn)能的 能接受各種數(shù)據(jù) 它寫(xiě)浮點(diǎn)數(shù)的時(shí)候 不進(jìn)行四舍五入
2、%d (int)插入整型數(shù)字
3、%f 浮點(diǎn)數(shù) 打印浮點(diǎn)數(shù)(小數(shù))
最好將他們區(qū)分使用 不要只使用 %s
二、具體的使用方式
1、可以一次多插入幾個(gè)數(shù)值
b = 'adam' a = '我是%s 我%d歲了' %(b,16) print(a) #我是adam 我16歲了
2、打印浮點(diǎn)數(shù)(小數(shù))
這里 f 前面 2 指的是 保留小數(shù)點(diǎn)后2位
a = '我%.2f歲了' %16.53333 #保留小數(shù)點(diǎn)后兩位 會(huì)進(jìn)行四舍五入 print(a) #我16.53歲了
3、打印百分?jǐn)?shù)
f 后面 添加2個(gè)% 是在插入值后面顯示一個(gè)%的意思
a = '含量%.2f%%' %16.53333 print(a) #含量16.53 %
4、調(diào)用字典進(jìn)行拼接
它通過(guò)索引key的方式進(jìn)行填充占位的值
a = '我是%(name)s 我%(age)d歲了' %{'name':'adam','age':16} print(a) #我是adam 我16歲了
5、sep 設(shè)置分割符號(hào)
sep的賦值 就是 分割符號(hào),會(huì)被依次填入每個(gè)元素之間 引號(hào)里面的空格也算
print('a','b','c','d',sep = ' = ' ) #a = b = c = d
6、flags 格式符號(hào)
這并不太常用
+,右對(duì)齊 可以設(shè)置算上插入字符的總長(zhǎng)度,缺少的位用空格不上
a = '我是%(name)+20s 我%(age)d歲了' %{'name':'adam','age':16} print(a) #我是 adam 我16歲了
- ,左對(duì)齊 可以設(shè)置算上插入字符的總長(zhǎng)度,缺少的位用空格不上
a = '我是%(name)-20s 我%(age)d歲了' %{'name':'adam','age':16} print(a) #我是adam 我16歲了
空格,右對(duì)齊
0,右對(duì)齊
三、format
1、默認(rèn)使用 拼接
format也是通過(guò)占位符把元素填入字符串內(nèi)部的
使用 { }大括號(hào)進(jìn)行占位 默認(rèn)將元素依次填入前面的大括號(hào)里面
如果填入的元素?cái)?shù)量不足則會(huì)報(bào)錯(cuò)
a = '我是{},我{}歲了'.format('adam',16) print(a) #我是adam,我16歲了
2、使用索引以及切片進(jìn)行拼接
使用元素的索引位,進(jìn)行拼接,可以重復(fù)取一個(gè)元素 但是不能超出元祖的 索引位范圍
a = '我是{1},我{0}歲了'.format('adam',16) print(a) #我是16,我adam歲了
使用切片的方式 進(jìn)行拼接
a = '我是{0[1]},我{1}歲了'.format([1,2,3],16) print(a) #我是2,我16歲了
3、調(diào)用元祖進(jìn)行拼接
用變量名的形式進(jìn)行占位
a = '我是{a},我歲了,我喜歡吃{c}'.format(a='adam',b = 16,c='鹵煮') print(a) #我是adam,我16歲了,我喜歡吃鹵煮
4、使用字典作為format的元素庫(kù)
只需要在format 元素庫(kù)的前面 加上** 兩個(gè)星號(hào)
a = '我是{a},我歲了,我喜歡吃{c}'.format(**{"a":"adam","b":16,"c":"鹵煮"}) print(a) #我是adam,我16歲了,我喜歡吃鹵煮
5、使用列表作為format的元素庫(kù)
只需要在format 元素庫(kù)的前面 加上* 兩個(gè)星號(hào)
而且還可以結(jié)合 索引拼接
a = '我是{2},我{1}歲了,我喜歡吃{0}'.format(*['adam',16,'鹵煮']) print(a) #我是鹵煮,我16歲了,我喜歡吃adam
6、占位計(jì)算符
也可在占位符號(hào)的位置放入 插入符號(hào)如
這些符號(hào)會(huì)對(duì)插入的賦值進(jìn)行相應(yīng)的轉(zhuǎn)換計(jì)算
{:b} 2進(jìn)制
{:o} 8進(jìn)制
{:d} 整型
{:x} 16進(jìn)制且字母部分小寫(xiě)
{:X} 16進(jìn)制且字母部分大寫(xiě)
{:%} 顯示百分比默認(rèn)顯示小數(shù)點(diǎn)后6位
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
輸出背景 字體格式以及 字體背景顏色是可以通過(guò)以下命令設(shè)置的
從\033[43;1m 到 \033[0m 之間的字符全部被加上了背景色,43控制字體背景填充的顏色 字體格式等
a = '我是\033[45;1m%(name)s\033[0m 我\033[42;1m%(age)d\033[0m歲了' %{'name':'adam','age':16} print(a) #我是adam 我16歲了
總結(jié)
本篇文章就到這里了,希望能夠給你帶來(lái)幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
python循環(huán)控制之break和continue流程控制語(yǔ)句
這篇文章主要介紹了python循環(huán)控制之break流程控制語(yǔ)句,Python中提供了兩個(gè)關(guān)鍵字用來(lái)控制循環(huán)語(yǔ)句,分別是break和continue,本文都有介紹,需要的朋友可以參考一下2022-03-037個(gè)流行的Python強(qiáng)化學(xué)習(xí)算法及代碼實(shí)現(xiàn)詳解
目前流行的強(qiáng)化學(xué)習(xí)算法包括?Q-learning、SARSA、DDPG、A2C、PPO、DQN?和?TRPO。這些算法已被用于在游戲、機(jī)器人和決策制定等各種應(yīng)用中,本文我們將對(duì)其做一個(gè)簡(jiǎn)單的介紹,感興趣的可以學(xué)習(xí)一下2023-01-01python實(shí)現(xiàn)圖像自動(dòng)Gamma校正方式
這篇文章主要介紹了python實(shí)現(xiàn)圖像自動(dòng)Gamma校正方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-10-10python pandas dataframe 行列選擇,切片操作方法
下面小編就為大家分享一篇python pandas dataframe 行列選擇,切片操作方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-04-04django如何根據(jù)現(xiàn)有數(shù)據(jù)庫(kù)表生成model詳解
這篇文章主要給大家介紹了關(guān)于django如何根據(jù)現(xiàn)有數(shù)據(jù)庫(kù)表生成model的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Django具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2022-08-08詳解Django中 render() 函數(shù)的使用方法
這篇文章主要介紹了Django中 render() 函數(shù)的使用方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-04-04