日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python格式化字符串%r_Python语法速查:3.字符串格式化

發布時間:2025/3/15 python 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python格式化字符串%r_Python语法速查:3.字符串格式化 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Apple iPhone 11 (A2223) 128GB 黑色 移動聯通電信4G手機 雙卡雙待

4999元包郵

去購買 >

(1)簡易字符串格式化

字符串屬于不可變序列,只能生成新的,不能改變舊的?!白址袷交庇悬c像以前C語言的sprintf,可以將若干變量代入格式化的字符串,生成一個符合要求的新字符串。

轉換字符簡述舉例或說明

%d

十進制整數

'num: %d' %16 # 結果為 'num: 16'

%o

八進制整數

'num: %o' %16# 結果為 'num: 20'

%x, %X

十六進制整數(大小寫影響輸出字母)

'num: %x' %31 # 結果為 'num: 1f'(小寫)

'num: %X' %31 # 結果為 'num: 1F'(大寫)

%f, %F

浮點數,默認輸出6位小數(不區分大小寫)

'num: %f' %3.14 # 結果為 'num: 3.140000'

%e, %E

用科學計數法表示的浮點數(大小寫影響輸出字母)

'num: %e' %314 # 結果為 'num: 3.140000e+02'

'num: %E' %314 # 結果為 'num: 3.140000E+02'

%g, %G

若“指數5”則和%e,%E相同,否則同%f,%F(大小寫影響輸出字母)

'num: %g' %3140000 # 結果為 'num: 3.140000e+06'

'num: %g' %314 # 結果為 'num: 314'

%s

字符串或任意可用str()生成字符串的對象

'a %s' %'box' # 結果為 'a box'

'a %s' %[1,2] # 結果為 'a [1,2]'

%r

同上,只不過用repr()去生成字符串

'a %r' %'box' # 結果為 "a 'box'"

%c

用ascii碼數字去生成單個字符

'char is %c' %97 # 結果為 'char is a'

'char is %c' %0x61 # 結果為 'char is a'

%%

轉義%(百分號)

'50 %%' # 結果為 '50 %'

%(鍵名)轉換字符

指定的鍵必須出現在后面的字典中,若不存在則引發KeyError錯誤

'%(a)d' %{'a':1}# 結果為 '1',注意:轉換字符d不要漏掉

“修飾符”可以插入上面的%和字母之間,用以更精確地控制輸出字符串的格式,若干個修飾符可組合一起使用。

修飾符簡述舉例或說明

數字

指定被修飾對象的最小寬度(默認右對齊)

'a%5d' %3 # 結果為 'a????3' (數字3前面有4個空格)

'a%5s' %'bc' # 結果為 'a???bc' (bc前面有3個空格)

-

表示左對齊

'a%-5d' %3 # 結果為 'a3????' (數字3后面有4個空格)

'a%-5s' %'bc' # 結果為 'abc???' (bc后面有3個空格)

+

若被修飾對象為正數,則數字前生成加號

'a%+5d' %3 # 結果為 'a???+3' (數字+3前面有3個空格)

'a%-+5d' %3 # 結果為 'a+3???' (左對齊,+3后有3個空格)

空格

若被修飾對象為正數,則數字前保留一個空格

'a% 5d' %3 # 結果為 'a??? 3' (' 3'后面有3個空格)

'a%-+5d' %3 # 結果為 'a 3???' (' 3'后有3個空格)

0

若被修飾對象為數字且為右對齊,則在數字前用0代替空格填充

'a%+05d' %3 # 結果為 'a+0003' (%+05d的總寬度仍為5)

.數字

若被修飾對象為浮點數,則表示小數點后顯示位數;若為字符串,則表示字符串的最大寬度

'%8.2f' %3.1415 # 結果為 '????3.14'

'# 上例含義為:總寬度為8,小數點后保留2位小數,故3.14前有4個空格

*

可以在指定格式數字(寬度、小數位數等)時,用*字符代替直接數字,然后在后面的變量中給出數值

a = 8; b = 2

'%*.*f' %(3.14,a,b) # 結果為 '????3.14'

(2)高級字符串格式化

通過在字符串對象上調用format()方法來進行字符串格式化,使字符串格式化的語法更加規范。除了一些極其簡單的情況外,一般推薦用format()這種方式來進行字符串格式化。

● 基本用法

以下在字符串內花括號中的內容稱為“占位符”。

用法簡述舉例或說明

{數字}

位置參數方式,花括號中的占位符指明后面數據出現的位置(從0開始)

'{0} {1} is {2}'.format('a','b',3.14)

# 結果為 'a b is 3.14'

{參數名}

關鍵字參數方式,花括號中占位符指明后面數據的關鍵字參數

'{name} is {age}'.format(name='Tom',age=6)

# 結果為 'Tom is 6'

聯合使用

根據函數入參規則,所有位置數據必須出現在關鍵字參數前面

'{0} plus {1} is {ans}, {name}!'.format(1,5,ans=6,name='Tom')

# 結果為 '1 plus 5 is 6, Tom!'

擴展使用

占位符還可以進行序列索引、字典鍵名、對象屬性查找,用法見右邊各例。

'{0[2]}'.format([1,2,3]) # 序列索引,結果為 '3'

'{li[2]}'.format(li=(1,2,3)) # 序列索引,結果為 '3'

'{0[a]}'.format({'a':1}) # 字典鍵名索引,結果為 '1'

'{0.attr}'.format(obj) # 取出對象的屬性,假設 obj對象具有屬性attr

{{, }}

如果要在字符串中表示花括號本身,則需要打上2個花括號

'{{abc}}'.format() # 結果為 '{abc}'

● 格式說明符

可以使用格式說明符,對輸出進行更加精確的控制。方法是用一個冒號給每個占位符添加格式說明,即 {占位符 :格式說明符 } 的形式?!案袷秸f明符”的基本語法如下:

[ [fill] ?align] ?[sign] ?[0] ?[width] ?[group_option] ?[.precision] ?[type]

上面 [] 中的每個說明符都是可選的,各說明符的含義和用例見下表:

說明符簡述舉例或說明

fill

fill必須align一起使用,用來指定填充字符。

'{0:*^9}'.format('abc') # 結果為 '***abc***'

# 其中,*為填充字符,^表示居中對齊,9為指定寬度

align

對齊方式(默認數字為右對齊,字符串為左對齊),可取值為:, ^,分別表示:左對齊、右對齊、居中對齊。

'{0:5}'.format('abc') # 結果為 'abc??'

'{0:>5}'.format('abc') # 結果為 '??abc'

'{0:^5}'.format('abc') # 結果為 '?abc?'

sign

可取值為:+, -, 空格?!?#43;”表示所有數字前都要加上符號,“-”表示只在負數前加符號(默認值),“空格”表示在正數前面加一個空格。

'{0:+}'.format(3.14) # 結果為 '+3.14'

0

用0來填充數字前面的空白,對字符串不起作用

'{0:+08}'.format(3.14) # 結果為 '+0003.14'

width

指明寬度

'{0:8}'.format(3.14) # 結果為 '????3.14'

'{0:8}'.format('abc') # 結果為 'abc?????'

group_option

千分位分隔,取值可為“,”或“_”(下劃線為Python3.6新增,可用來表示二、八、十六進制的每4位分隔。)

'{0:,}'.format(12345678) # 結果為 '12,345,678'

'{0:_b}'.format(0xA5) # 結果為 '1010_0101'

.precision

浮點數要顯示的位數,后面需跟type為f或e,否則不起作用。

'{0:.4f}'.format(3.14) # 結果為 '3.1400'

'{0:.4e}'.format(3.14) # 結果為 '3.1400e+00'

type

輔助聲明“說明符”的數據類型,可取值范圍見下表。(默認:字符串為s、整數為d、小數為f)

type各值舉例見下表

● type取值范圍

字符簡述舉例或說明

d, i

十進制整數

'{0:d}'.format(10) # 結果為 '10'

b

二進制整數

'{0:b}'.format(10) # 結果為 '1010'

o

八進制整數

'{0:o}'.format(10) # 結果為 '12'

x, X

十六進制整數(大小寫影響輸出字母)

'{0:x}'.format(10) # 結果為 'a'

'{0:X}'.format(10) # 結果為 'A'

f, F

浮點數(默認顯示6位小數)

'{0:f}'.format(3.14) # 結果為 '3.140000'

e, E

科學計數法表示(大小寫影響輸出字母)

'{0:e}'.format(3.14) # 結果為 '3.140000e+00'

'{0:E}'.format(3.14) # 結果為 '3.140000E+00'

g, G

若“指數5”則和g,G相同,否則同f,F(且不會去填滿小數6位)

'{0:g}'.format(3.14) # 結果為 '3.14'

%

把一個數乘以100,并在后面加上百分號

'{0:%}'.format(3.14) # 結果為 '314.000000%'

s

表示字符串

'{0:s}'.format('abc') # 結果為 'abc'

c

用ascii碼數字去生成單個字符

'{0:c}'.fomrat(97)# 結果為 'a'

● 用參數代入說明符

說明符同樣可以用format()函數的輸入參數來代入,但只能嵌套一層深度,用法舉例見下:

>>> '{0:{w}}'.fomrat('a',w=3) # 結果為 'a??' (將{w}用后面的參數w=3代入,變為'{0:3}'

>>> '{0:.{1}f}'.format(3.14,4) # 結果為 '3.1400' (將{1}用后面的第二個參數4代入,變為'{0:.4f}')

返回標題

原文鏈接:https://www.cnblogs.com/initcircuit/p/11574434.html

總結

以上是生活随笔為你收集整理的python格式化字符串%r_Python语法速查:3.字符串格式化的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲黄片一区二区 | 天堂成人网 | 国产成人精品一区在线播放 | www.爱操 | 日韩欧美在线视频免费观看 | 国产精品美女久久久网av | 一本一道久久 | 爱福利视频广场 | 涩涩涩在线视频 | 成人在线中文字幕 | 色多多视频在线观看 | 国产男女猛烈无遮挡 | 日韩一区不卡视频 | 国产小视频自拍 | 日韩成人在线一区 | 国产精品h | 欧美日韩一区二区三区四区 | 国产精品乱码久久久久 | 国模一区二区三区 | 日韩国产免费 | av成人免费在线 | 国产午夜精品一区二区 | 四川丰满妇女毛片四川话 | 人人草人人澡 | 新久草视频 | 一本色道久久亚洲综合精品蜜桃 | 国产精品免费电影 | 色日韩| 在线免费观看视频网站 | 国产成人在线免费观看 | 禁漫天堂下载18 | 中文字幕一区二区三三 | 成人91网站| 国产在线h | 日本高清视频在线观看 | 日本一级大毛片a一 | 日本在线免费 | 无码人妻精品一区二区三区99日韩 | 日本大尺度做爰呻吟舌吻 | www.xxxx欧美| 4438成人网 | 亚洲香蕉在线 | 另类视频在线观看 | 国产高清精品软件丝瓜软件 | 一区二区三区精品国产 | 91天堂在线观看 | 五月天爱爱 | 碰在线视频 | 国产1区2区3区 | 久久一级片 | 极品少妇xxxx精品少妇 | 在线播放一级片 | 波多野结衣av电影 | 丁香激情婷婷 | 在线免费观看视频 | 青草伊人网 | 综合网在线视频 | 毛片在线不卡 | 中文字幕第十二页 | 在线一区二区三区 | 国产福利午夜 | av激情网站 | 日本精品视频在线 | 欧美一级淫片免费视频黄 | 免费午夜视频 | 波多野结衣一区二区三区高清 | 伊人久久精品一区二区三区 | 日韩激情影院 | 在线美女av| 日日夜夜狠狠 | 人成在线视频 | 欧美成人一区二区三区片免费 | 图片区偷拍区小说区 | 一区二区三区精彩视频 | 亚洲乱强伦 | 欧美成年人在线观看 | 岛国av片 | 四虎4hu永久免费网站影院 | av大片网站| 制服.丝袜.亚洲.中文.综合懂 | 日韩爱爱视频 | 99精品一区| 激情四射av | 欧美女优在线观看 | 日韩九九九 | 精品在线91 | 久久久久久久久久福利 | 国产精品日日做人人爱 | 中文字幕在线观看免费视频 | 国产免费一区视频观看免费 | 青青草青娱乐 | 播放美国生活大片 | 中文精品无码中文字幕无码专区 | 久久精品成人一区二区三区蜜臀 | 国产精品乱码一区二三区小蝌蚪 | 久久久久色 | 欧美婷婷六月丁香综合色 | wwwxxxx日本 | 九九热在线视频观看 |