日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

Python必知必會:15個令人相見恨晚的Python字符串格式化技巧!

來源: 責編: 時間:2024-09-10 09:50:17 167觀看
導讀前路漫漫,我愛Python!Hello,大家好,Python是一門簡單易學且很有意思的語言,每天我都用它來幫我處理很多繁瑣且復雜的工作,提升工作效率。字符串是最常用的數據類型之一,今天,我將向大家分享15個令人相見恨晚的Python字符串格

前路漫漫,我愛Python!Hello,大家好,Python是一門簡單易學且很有意思的語言,每天我都用它來幫我處理很多繁瑣且復雜的工作,提升工作效率。字符串是最常用的數據類型之一,今天,我將向大家分享15個令人相見恨晚的Python字符串格式化技巧,幫你寫出更高效、優雅且Pythonic的代碼。T7s28資訊網——每日最新資訊28at.com

T7s28資訊網——每日最新資訊28at.com

1.f'{variabe=}'

如果我們在f-字符串中的變量后添加 = 符號,它會同時打印變量名稱和值。T7s28資訊網——每日最新資訊28at.com

name: str = 'Jack'age: int = 21city: str = 'New York'print(f'{name=} {age=} {city=}')# name='Jack' age=21 city='New York'

這個技巧對于代碼調試和日志記錄非常有用。T7s28資訊網——每日最新資訊28at.com

2. 四舍五入到小數點后N位

要將數值四舍五入到小數點后N位,可以簡單使用 {number:.Nf} 的形式(N為具體數字):T7s28資訊網——每日最新資訊28at.com

PI: float = 3.141592653589793print(f'{PI:.2f}')print(f'{PI:.3f}')print(f'{PI:.4f}')

3. 四舍五入到 N 個有效數字

要將數值四舍五入到N位有效數字,可以簡單使用 {number:.Ng} 的形式(N為具體數字):T7s28資訊網——每日最新資訊28at.com

number: int = 131452print(f'{number:.2g}')  # 1.3e+05print(f'{number:.3g}')  # 1.31e+05print(f'{number:.4g}')  # 1.315e+05x: float = 0.0131452print(f'{x:.2g}')   # 0.013print(f'{x:.3g}')   # 0.0131print(f'{x:.4g}')   # 0.01315

4. 格式化原始字符串

原始字符串就是轉義字符(/)不再轉義其他字符,而只是原本的反斜杠。在字符串前添加 f 就可格式化字符串,在字符串前添加 r 就可讓字符串僅表示原始含義。要使字符串既是格式化字符串又是原始字符串,只需在字符串前面添加 fr 或 rf,二者皆可。T7s28資訊網——每日最新資訊28at.com

name: str = 'Jack'age: int = 20print(fr'{name=} /n {age=}')  # name='Jack' /n age=20print(rf'{name=} /n {age=}')  # name='Jack' /n age=20

5. 使用空格對齊

可以通過 <N, >N 和 ^N 實現字符串的左、右和居中對齊,N 表示填充后的字符串寬度(默認用空格填充):T7s28資訊網——每日最新資訊28at.com

fruit: str = 'banana'print(f'[{fruit:<20}]') # [banana              ]print(f'[{fruit:>20}]') # [              banana]print(f'[{fruit:^20}]') # [       banana       ]

注意,如果 fruit 的長度大于20,則會被截斷。T7s28資訊網——每日最新資訊28at.com

6. 使用其他字符對齊

在上面的對齊方式中,默認使用空格填充。實際上,我們可以按自己的意愿指定其他填充字符,比如:T7s28資訊網——每日最新資訊28at.com

fruit: str = 'banana'print(f'[{fruit:#<20}]') # [banana##############]print(f'[{fruit:=>20}]') # [==============banana]print(f'[{fruit:*^20}]') # [*******banana*******]

7. f-字符串中單雙引號的使用

在舊版本的Python(<Python 3.12)中,f-字符串的內外引號形式必須剛好相反,比如,外部為雙引號,則內部須為單引號,反之亦然。如果內外引號形式相同則會發生語法錯誤。T7s28資訊網——每日最新資訊28at.com

person_info: dict = {'name': 'Jack', 'age': 25}print(f'Name: {person_info["name"]}; Age: {person_info["age"]}')# Name: Jack; Age: 25print(f"Name: {person_info['name']}; Age: {person_info['age']}")# Name: Jack; Age: 25# print(f"Name: {person_info["name"]}; Age: {person_info["age"]}")# SyntaxError: f-string: unmatched '['

但是如果Python版本在3.12及以上,則f-字符串的內外引號形式可以相同,比如:T7s28資訊網——每日最新資訊28at.com

print(f"Name: {person_info["name"]}; Age: {person_info["age"]}")# Name: Jack; Age: 25print(f'Name: {person_info['name']}; Age: {person_info['age']}')# Name: Jack; Age: 25

8. 大數字格式化—插入千分位符

我們可以在f-字符串中插入千分位符(逗號),增加代碼的可讀性,語法形式為:{number:,}。T7s28資訊網——每日最新資訊28at.com

number: int = 10000000000print(f'{number:,}')    # 10,000,000,000

9. 展示原始輸出

在f-字符串中的變量后添加 !r 可以讓我們展示原始輸出,作用相當于 repr(variable):T7s28資訊網——每日最新資訊28at.com

name: str = 'Jackzhang'print(f'raw output: {repr(name)}')# raw output: 'Jackzhang'print(f'raw output: {name!r}')# raw output: 'Jackzhang'

這個技巧在代碼調試和日志記錄的場景中會比較有用。T7s28資訊網——每日最新資訊28at.com

10. 日期時間格式化

在f-字符串中,我們還可以輕松實現日期時間的格式化,格式化代碼如下:T7s28資訊網——每日最新資訊28at.com

  • %Y:表示完整年份,如 2024
  • %y:表示截斷的年份,如 24
  • %m:將月份表示為數字
  • %d:將天表示為數字
  • %A:表示星期幾(全稱),如 Monday, Tuesday, ...
  • %a:表示星期幾(簡稱),如 Mon, Tue, ...
from datetime import datetimeddate: datetime = datetime.now()print(f'{ddate: %Y-%m-%d}')     # 2024-09-05print(f'{ddate: %y/%m/%d}')     # 24/09/05print(f'{ddate: %d/%m/%y %A}')  # 05/09/24 Thursdayprint(f'{ddate: %Y-%m-%d %a}')  # 05/09/24 Thu

其他更多格式化代碼可以參考:https://docs.python.org/3/library/datetime.html#format-codesT7s28資訊網——每日最新資訊28at.com

11. 浮點數轉化百分比

我們也可以通過f-字符串直接將數字轉換百分比,并且指定百分比中的小數位。T7s28資訊網——每日最新資訊28at.com

print(f'{0.25:.0%}')    # 25%print(f'{0.5:.1%}')     # 50.0%print(f'{0.75:.2%}')    # 75.00%print(f'{1.25:.3%}')    # 125.000%

12. 二、八及十六進制數字展示

在f-字符串中,我們也可以將數字表示為二進制、八進制和十六進制。T7s28資訊網——每日最新資訊28at.com

  • number:b:以二進制表示數字
  • number:o:以八進制表示數字
  • number:x:以十六進制表示數字
a, b, c = 4, 16, 128print(f'binary={a:b} octal={a:o} hexadecimal={a:x}')# binary=100 octal=4 hexadecimal=4print(f'binary={b:b} octal={b:o} hexadecimal={b:x}')# binary=10000 octal=20 hexadecimal=10print(f'binary={c:b} octal={c:o} hexadecimal={c:x}')# binary=10000000 octal=200 hexadecimal=80

13. 三引號f-字符串

三引號字符串可跨越多行,并且輸出與輸入完全一致(包括位置、縮進等)。T7s28資訊網——每日最新資訊28at.com

person_info: dict = {    'name': 'Jackzhang',    'age': 25,    'gender': 'Male',    'city': 'San Francisco',}msg: str = f'''name: {person_info.get('name')}age: {person_info.get('age')}gender: {person_info.get('gender')}city: {person_info.get('city')}'''print(msg)

T7s28資訊網——每日最新資訊28at.com

14. 帶有位置參數的format()

f-字符串的其中一個局限就是,我們無法將其用作模板字符串,將其存儲在數據庫中。T7s28資訊網——每日最新資訊28at.com

為了能夠在數據庫中存儲這樣的模板字符串供我們多次調用,可以這樣做:T7s28資訊網——每日最新資訊28at.com

person_info: dict = {    'name': 'Jackzhang',    'gender': 'Male',}temp_s: str = 'my name is {} and my gender is {}'print(temp_s.format(person_info['name'], person_info['gender']))# my name is Jackzhang and my gender is Male

請注意,第一個參數名稱分配給第一個花括號,而第二個參數年齡分配給第二個花括號。如果有更多括號,以此類推。T7s28資訊網——每日最新資訊28at.com

15. 帶有關鍵字參數的format()

將 .format() 與位置參數一起使用的限制之一是參數必須嚴格遵循特定的順序。為了克服這個限制,我們可以改用關鍵字參數。關鍵是我們現在需要將變量名稱添加到字符串中,如下所示:T7s28資訊網——每日最新資訊28at.com

person_info: dict = {    'name': 'Jackzhang',    'gender': 'Male',}temp_s: str = 'my name is {name} and my gender is {gender}'print(temp_s.format(name=person_info['name'],                     gender=person_info['gender']))# my name is Jackzhang and my gender is Maleprint(temp_s.format(gender=person_info['gender'],                     name=person_info['name']))# my name is Jackzhang and my gender is Male

從上面的代碼片段中我們可以看出,采用關鍵字參數引用后,即使改變參數順序,仍然可以獲得相同的結果。T7s28資訊網——每日最新資訊28at.com

結論

感謝你的閱讀,希望今天的文章對你有所幫助,可以讓你學到一些Python字符串格式化的新知識、新技巧。T7s28資訊網——每日最新資訊28at.com

本文鏈接:http://m.www897cc.com/showinfo-26-112763-0.htmlPython必知必會:15個令人相見恨晚的Python字符串格式化技巧!

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 在ASP.NET Core中實現防抖功能:利用分布式鎖確保操作唯一性

下一篇: 不同業務使用同一個線程池發生死鎖

標簽:
  • 熱門焦點
Top 日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不
亚洲高清123| 国产真实精品久久二三区| 欧美高清影院| 欧美精品日韩精品| 欧美天堂亚洲电影院在线播放| 国产精品成人观看视频国产奇米| 国产精品一页| 一区二区亚洲精品国产| 亚洲美女精品一区| 久久精品九九| 国内精品久久久久影院色| 欧美黄污视频| 国产精品99久久久久久人| 久久资源av| 久久精品国产综合精品| 亚洲综合色噜噜狠狠| 亚洲视频在线观看| 一本久久青青| 欧美高清影院| 亚洲日本va午夜在线影院| 久久手机免费观看| 亚洲成人在线| 欧美一区二区私人影院日本| 欧美午夜免费| 午夜日韩激情| 欧美黄色精品| 亚洲国产日韩欧美综合久久| 亚洲欧美另类中文字幕| 亚洲欧美日韩国产综合精品二区| 麻豆成人在线| 国产精品高清网站| 激情综合在线| 麻豆精品91| 99re热这里只有精品视频| 国产亚洲一区二区三区在线观看| 亚洲一区二区日本| 国产日韩1区| 黑人巨大精品欧美黑白配亚洲| 亚洲一区二区三区中文字幕| 日韩亚洲在线| 欧美亚洲综合网| 欧美日本在线视频| 欧美久色视频| 亚洲欧美日韩精品一区二区| 欧美高清视频一二三区| 久久综合色影院| 欧美成人精品高清在线播放| 蜜桃av噜噜一区二区三区| 玖玖玖免费嫩草在线影院一区| 免费高清在线一区| 欧美日韩另类视频| 欧美网站在线观看| 国产精品日本| 国产精品久久久久久久9999| 欧美一区二区福利在线| 一区二区三区亚洲| 欧美精品在线观看播放| 99精品国产99久久久久久福利| 欧美另类人妖| 亚洲高清视频一区二区| 欧美日韩裸体免费视频| 欧美高清视频在线播放| 欧美大片一区二区三区| 欧美成人精品不卡视频在线观看 | 欧美福利小视频| 国产区精品在线观看| 一区二区电影免费在线观看| 毛片一区二区| 国产一区二区三区网站| 性亚洲最疯狂xxxx高清| 国产精品久久久久久久午夜片 | 亚洲综合色网站| 欧美午夜精品久久久久久孕妇| 亚洲欧洲精品一区| 美国十次成人| 在线日本成人| 免费在线播放第一区高清av| 尤物视频一区二区| 久久色在线播放| 激情五月综合色婷婷一区二区| 久久精品天堂| 狠狠色综合网| 久久综合影视| 亚洲激情一区| 欧美福利视频在线| 亚洲精品麻豆| 欧美日韩你懂的| 亚洲深夜激情| 国产精品午夜视频| 欧美一区二区在线免费播放| 国产日韩欧美高清| 久久精品国产久精国产一老狼| 国语自产精品视频在线看8查询8| 久久久久久久综合色一本| 精品动漫3d一区二区三区免费| 久久综合一区二区| 91久久精品国产| 欧美日韩成人综合在线一区二区| 一区二区三区日韩在线观看| 国产精品久久久久毛片大屁完整版| 亚洲女性裸体视频| 国产夜色精品一区二区av| 久久久中精品2020中文| 亚洲第一页自拍| 欧美理论电影在线播放| 亚洲校园激情| 国产一区二区三区四区三区四| 另类国产ts人妖高潮视频| 亚洲人成网站精品片在线观看| 欧美日本亚洲| 亚洲欧美三级在线| 国产一区二区日韩精品| 久久综合国产精品| 亚洲精选一区二区| 国产精品久久91| 久久久不卡网国产精品一区| 亚洲观看高清完整版在线观看| 欧美精品国产精品| 亚洲综合成人在线| 韩国av一区二区三区四区| 欧美电影在线播放| 亚洲一区中文| 一区二区三区在线观看视频 | 狠狠色狠狠色综合| 欧美精品导航| 亚洲欧美日韩一区| 精品动漫一区二区| 欧美私人网站| 久久久久久亚洲精品中文字幕| 亚洲人精品午夜| 国产精品视频免费观看| 老司机久久99久久精品播放免费 | 国产伦精品一区二区三区视频孕妇| 麻豆精品网站| 亚洲午夜国产一区99re久久| 国产日韩欧美麻豆| 欧美激情亚洲自拍| 欧美一区二区三区播放老司机| 亚洲国产精品一区制服丝袜 | 国产欧美午夜| 欧美极品一区| 久久aⅴ国产欧美74aaa| 亚洲精品视频在线观看网站| 国产欧美一区二区白浆黑人| 欧美电影免费观看网站| 午夜亚洲视频| av成人黄色| 国内视频精品| 欧美日韩在线播放一区| 久久在线视频在线| 亚洲欧美综合国产精品一区| 亚洲精品女人| 狠狠88综合久久久久综合网| 欧美视频不卡| 免费在线成人| 欧美在线视屏| 亚洲一区二区三区国产| 亚洲国产精品www| 国产网站欧美日韩免费精品在线观看| 欧美另类99xxxxx| 久久免费99精品久久久久久| 亚洲与欧洲av电影| 亚洲精品乱码久久久久久日本蜜臀| 国产一区二区三区久久 | 亚洲精品久久久久久久久久久久 | 欧美日韩久久精品| 麻豆亚洲精品| 久久久久久网| 午夜在线观看欧美| 亚洲视频1区2区| 日韩网站免费观看| 亚洲国产福利在线| 激情久久久久久久| 国产日韩欧美综合| 国产精品乱码妇女bbbb| 欧美日本亚洲| 欧美福利视频在线| 久久婷婷激情| 久久精品视频网| 欧美影院成人| 亚洲欧美怡红院| 亚洲午夜久久久久久久久电影院 | 久久国产精品电影| 亚洲在线视频免费观看| 在线中文字幕不卡| 一区二区高清在线观看| 亚洲人成网站在线观看播放| 亚洲第一免费播放区| 极品裸体白嫩激情啪啪国产精品| 国产色综合久久| 国产日韩精品电影| 国产欧美精品在线| 国产毛片久久| 国产欧美在线| 国产一区日韩一区| 国产一区二区三区无遮挡| 国产日韩精品一区二区三区 | 亚洲伦理自拍| 亚洲每日在线| 日韩一区二区精品| 亚洲最黄网站| 在线一区二区日韩| 亚洲小说欧美另类婷婷| 亚洲综合三区|