亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > Python > 正文

Python中format_map()函數的使用方法

2023-04-25 12:32:02
字體:
來源:轉載
供稿:網友

Python中format_map(mapping)函數的作用與str.format(**mapping)類似,不過,format_map()函數中的mapping可以直接使用詞典,而不必再加“**”來解析詞典,在"{}"占位符中可以直接使用鍵名稱,不必使用詞典的變量來訪問。

Python中的format_map()函數是在3.2版中新增的函數,讀者在使用該函數時要注意所使用的Python版本。

關于Python中format()函數的使用方法,讀者可以參見以下三篇文章:

(1)Python中使用format()函數格式化字符串

(2)Python中使用format()函數對數字進行格式化

(3)Python中format()函數中的對齊與寬度問題

Python中的format_map()函數

format_map()函數的語法格式

str.format_map(mapping)

str是包含占位符"{}"字符串對象,mapping是一個詞典對象。

該函數執行完后,將會返回一個新字符串,新字符串中把str中所有的keys(鍵)用其對應的value(值)來替換。

format_map()函數的基本使用方法

下面建立一個詞典,并用詞典作為format_map()函數的參數,來觀察該函數的具體使用方法:

dict1 = {"site_name":"武林網VEVB","site_url":"VeVb.com",
         "subscription":"優雅的代碼"}
str_source = "{site_name}的網址是:{site_url},公眾號是:{subscription}"
str_result = str_source.format_map(dict1)
print(str_result)

輸出結果:

武林網VEVB的網址是:VeVb.com,公眾號是:優雅的代碼

在Python 3.8.2中的輸出形式截圖如下:

Python中format_map()函數使用案例

詞典中的項比格式化串多的情況

如果詞典中提供的鍵值對比實際需要的多會是是什么情況呢,下面通過一個例子來說明這種情況:

dict2 = {"lang1":"Java","lang2":"C#","lang3":"Python"}
print("我當前在學{lang2}和{lang3}".format_map(dict2))

輸出結果如下:

我當前在學C#和Python

從實際情況看,詞典中的鍵值對多于使用情況并不影響實際的輸出,也不會產生任何異常,其在詞典中搜索鍵名并把對應的值替換鍵名處的值即可,不會產生任何問題。

詞典中未包含格式化中的鍵

如果詞典中未包含使用的鍵會怎么樣呢?下面這個例子將告訴你這種情況下的輸出信息:

dict3 = {"lang1":"Java","lang2":"C#","lang3":"Python"}
print("我喜歡{lang4}".format_map(dict3))

輸出結果如下:

Traceback (most recent call last):
   File "D:/PY/format_map.py", line 2, in <module>
      print("我喜歡{lang4}".format_map(dict3))
KeyError: 'lang4'

從輸出結果可以看出,程序產生 KeyError 異常,即詞典dict3中并不包含鍵"lang4"。

也就是說,在正常情況下,詞典中若未定義某個鍵,而在格式字符串中使用了將會引發程序異常。

為了較好地解決上面這個問題,可以定義一個類和__missing__函數來處理:

class DealMissingValue(dict):
    def __missing__(self, key):
        return None

dict4 ={"lang1":"Java","lang2":"C#","lang3":"Python"}
print("我喜歡{lang4}".format_map(DealMissingValue(dict4)))

輸出結果

我喜歡None

可以看出,在使用__missing__函數處理后,可以在未找到對應的鍵值時,按照函數的返回值,將以None來替代。

總結

在使用詞典作為映射關系來格式化字符串時,format_map函數是非常有用的,它不像format()函數那樣建立詞典的副本來進行操作,從某種程度上來講,在使用詞典作為參數時,其效率要比format()函數高。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产激情综合五月久久| 亚洲欧美日韩高清| 97人人爽人人喊人人模波多| 国自在线精品视频| 成人xxxxx| 日韩有码在线电影| 最近2019年好看中文字幕视频| 国产精品久久久久久五月尺| 91欧美精品成人综合在线观看| 久久婷婷国产麻豆91天堂| 欧美黑人一区二区三区| 91久久夜色精品国产网站| 精品亚洲男同gayvideo网站| 亚洲欧美成人一区二区在线电影| 精品久久久999| 久久全国免费视频| 91精品国产一区| 亚洲精品国产品国语在线| 亚洲精品色婷婷福利天堂| 92福利视频午夜1000合集在线观看| 91美女福利视频高清| 日韩精品视频免费在线观看| 国产欧美久久久久久| 国产精品私拍pans大尺度在线| 国产a∨精品一区二区三区不卡| 91色精品视频在线| 中文字幕日本精品| 国产精品扒开腿做爽爽爽男男| 欧美激情伊人电影| 久久亚洲综合国产精品99麻豆精品福利| 1769国产精品| 国产噜噜噜噜噜久久久久久久久| 社区色欧美激情 | 国产亚洲精品久久久久久牛牛| 国产日韩精品电影| 国产欧美日韩中文字幕在线| 高清一区二区三区四区五区| 国产精品香蕉国产| 性色av一区二区咪爱| 亚洲美女中文字幕| 欧美日韩一二三四五区| 欧美激情精品久久久| 欧美精品免费在线| 久久久91精品国产一区不卡| 日本久久久a级免费| 欧美高清一级大片| 色中色综合影院手机版在线观看| 欧美肥婆姓交大片| 91国偷自产一区二区三区的观看方式| 日韩欧美中文第一页| 久久久中文字幕| 精品国产成人av| 成人福利视频在线观看| 日本成人黄色片| 国产精品久久久久久av| 一区二区国产精品视频| 国产精品自产拍在线观看| 色婷婷综合成人av| 亚洲国产私拍精品国模在线观看| 日韩av123| 成人网在线免费看| 日韩在线欧美在线国产在线| 亚洲日本成人女熟在线观看| 97视频在线观看视频免费视频| 亚洲精品美女在线| 亚洲xxxxx| 81精品国产乱码久久久久久| 久久精品小视频| 日韩电影大片中文字幕| 一区二区欧美久久| 国产福利视频一区| 国产91精品久久久久久| 欧美日韩国产一中文字不卡| 久久久久久国产精品三级玉女聊斋| 国产成人亚洲综合91精品| 成人黄在线观看| 欧美中在线观看| 亚洲精品一区中文字幕乱码| 国产成人精品视| 日韩经典一区二区三区| 久久久久久久久爱| 中文字幕无线精品亚洲乱码一区| 少妇激情综合网| 欧美激情a∨在线视频播放| 午夜精品三级视频福利| 久久露脸国产精品| 精品久久久久久国产91| 97人人模人人爽人人喊中文字| 亚洲影院在线看| 欧美在线亚洲一区| 久久夜精品香蕉| 国产性色av一区二区| 中文字幕欧美专区| 国产精品高潮呻吟视频| 日韩中文字幕国产精品| 久久天天躁狠狠躁老女人| 亚洲午夜精品久久久久久久久久久久| 亚洲欧美日韩中文视频| 成人观看高清在线观看免费| 亚洲va码欧洲m码| 久青草国产97香蕉在线视频| 日韩免费在线看| 亚洲欧洲一区二区三区久久| 欧美精品久久久久a| 久久精品国产亚洲一区二区| 欧美天天综合色影久久精品| 欧美孕妇与黑人孕交| 清纯唯美亚洲综合| 国产成人精品在线视频| 久久久久久伊人| 久久夜色精品亚洲噜噜国产mv| 一个人看的www久久| 国产精品成人一区二区三区吃奶| 国产99在线|中文| 欧美一级大片在线观看| 欧美怡春院一区二区三区| 欧美高清无遮挡| 国产精品91在线| 国产91在线播放九色快色| 成人av.网址在线网站| 日韩精品高清视频| 欧美精品videos性欧美| 亚洲国产精久久久久久| 久久五月天综合| 亚洲午夜激情免费视频| 欧美综合一区第一页| 欧美精品激情在线观看| 国产成人精品免高潮在线观看| 欧美日韩一区二区免费视频| 欧美性精品220| 亚洲高清在线观看| 日韩精品欧美国产精品忘忧草| 538国产精品一区二区在线| 国产婷婷97碰碰久久人人蜜臀| 欧美一区二粉嫩精品国产一线天| 成人情趣片在线观看免费| 日韩精品在线视频| 成人欧美在线视频| 日韩电影视频免费| 亚洲欧美自拍一区| 日韩国产精品一区| 亚洲一区亚洲二区亚洲三区| 亚洲欧美中文字幕在线一区| 亚洲成人教育av| 91精品国产综合久久久久久蜜臀| 中文字幕久久精品| 亚洲三级 欧美三级| 国产精品成人一区二区| 91在线高清免费观看| 日韩www在线| 欧美精品久久久久久久| 欧美资源在线观看| 136fldh精品导航福利| 日韩美女av在线免费观看| 久久久久久久999精品视频| 一本大道久久加勒比香蕉| 欧美尤物巨大精品爽| 日韩电影免费观看中文字幕| 国产精品91免费在线| 色香阁99久久精品久久久| 久热精品视频在线免费观看| 国产成人精品电影久久久| 尤物yw午夜国产精品视频明星| 日韩av123|