亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

詳解Python3 中的字符串格式化語法

 更新時(shí)間:2020年01月15日 08:33:37   投稿:mrr  
字符串的格式化方法分為兩種,分別為占位符(%)和format方式。這篇文章主要介紹了Python3 中的字符串格式化語法問題,需要的朋友可以參考下

一、舊式的字符串格式化

% 操作符

參考以下示例:

>>> name = "Eric"
>>> "Hello, %s." % name
'Hello, Eric.'

當(dāng)有多個(gè)變量需要插入到字符串中時(shí):

>>> name = "Eric"
>>> age = 74
>>> "Hello, %s. You are %s." % (name, age)
'Hello, Eric. You are 74.'

當(dāng)需要替換的變量進(jìn)一步增多時(shí),使用 % 操作符格式化字符串會(huì)導(dǎo)致代碼可讀性變得很差:

>>> first_name = "Eric"
>>> last_name = "Idle"
>>> age = 74
>>> profession = "comedian"
>>> affiliation = "Monty Python"
>>> "Hello, %s %s. You are %s. You are a %s. You were a member of %s." % (first_name, last_name, age, profession, affiliation)
'Hello, Eric Idle. You are 74. You are a comedian. You were a member of Monty Python.'

str.format()

str.format() 是對(duì) % 方式的改進(jìn),它使用常見的函數(shù)調(diào)用的語法,并且可以通過定義對(duì)象本身的 __format__() 方法控制字符串格式化的具體行為。

基本用法:

>>> name = "Eric"
>>> age = 74
>>> "Hello, {}. You are {}.".format(name, age)
'Hello, Eric. You are 74.'

str.format() 相對(duì)于 % 操作符有著更強(qiáng)的靈活性。比如可以通過數(shù)字索引來關(guān)聯(lián)替換到字符串中的變量:

>>> name = "Eric"
>>> age = 74
>>> "Hello, {1}. You are {0}.".format(age, name)
'Hello, Eric. You are 74.'

為了提高代碼可讀性, {} 中也可以使用有具體含義的參數(shù)名:

>>> name = "Eric"
>>> age = 74
>>> "Hello, {name}. You are {age}".format(name=name, age=age)
'Hello, Eric. You are 74'

針對(duì)字典結(jié)構(gòu)的數(shù)據(jù):

>>> person = {'name': 'Eric', 'age': 74}
>>> "Hello, {name}. You are {age}.".format(name=person['name'], age=person['age'])
'Hello, Eric. You are 74.'

或者更簡(jiǎn)潔的方式:

>>> person = {'name': 'Eric', 'age': 74}
>>> "Hello, {name}. You are {age}.".format(**person)
'Hello, Eric. You are 74.'

問題在于當(dāng)需要替換的變量很多時(shí), str.format() 方式依然會(huì)導(dǎo)致代碼變得過于冗長(zhǎng):

>>> first_name = "Eric"
>>> last_name = "Idle"
>>> age = 74
>>> profession = "comedian"
>>> affiliation = "Monty Python"
>>> "Hello, {first_name} {last_name}. You are {age}. \
 You are a {profession}. You were a member of {affiliation}."\
 .format(first_name=first_name, last_name=last_name, age=age, \
 profession=profession, affiliation=affiliation)
'Hello, Eric Idle. You are 74. You are a comedian. You were a member of Monty Python.'

二、f-string

基本用法

>>> name = "Eric"
>>> age = 74
>>> f"Hello, {name}. You are {age}."
'Hello, Eric. You are 74.'

嵌入表達(dá)式

>>> f"{2 * 37}"
'74'

>>> def to_lowercase(input):
...  return input.lower()
 
>>> name = "Eric Idle"
>>> f"{to_lowercase(name)} is funny"
'eric idle is funny'

>>> f"{name.lower()} is funny"
'eric idle is funny'

f-string 中還可以直接嵌入某個(gè)對(duì)象實(shí)例,只要其內(nèi)部實(shí)現(xiàn)了 __str__ 或者 __repr__ 方法:

class Comedian:
 def __init__(self, first_name, last_name, age):
  self.first_name = first_name
  self.last_name = last_name
  self.age = age

 def __str__(self):
  return f"{self.first_name} {self.last_name} is {self.age}"


new_comedian = Comedian("Eric", "Idle", 74)
print(f"{new_comedian}")
# Eric Idle is 74
多行 f-string
>>> name = "Eric"
>>> profession = "comedian"
>>> affiliation = "Monty Python"
>>> message = (
...  f"Hi {name}. "
...  f"You are a {profession}. "
...  f"You were in {affiliation}."
... )
>>> message
'Hi Eric. You are a comedian. You were in Monty Python.'

總結(jié)

以上所述是小編給大家介紹的Python3 中的字符串格式化語法,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!

相關(guān)文章

  • Pyqt實(shí)現(xiàn)簡(jiǎn)易計(jì)算器功能

    Pyqt實(shí)現(xiàn)簡(jiǎn)易計(jì)算器功能

    這篇文章主要為大家詳細(xì)介紹了Pyqt實(shí)現(xiàn)簡(jiǎn)易計(jì)算器功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • Python實(shí)現(xiàn)掃描指定目錄下的子目錄及文件的方法

    Python實(shí)現(xiàn)掃描指定目錄下的子目錄及文件的方法

    這篇文章主要介紹了Python實(shí)現(xiàn)掃描指定目錄下的子目錄及文件的方法,需要的朋友可以參考下
    2014-07-07
  • Python學(xué)習(xí)之異常斷言詳解

    Python學(xué)習(xí)之異常斷言詳解

    這篇文章主要和大家介紹一下異常的最后一個(gè)知識(shí)點(diǎn)——斷言 ,斷言是判斷一個(gè)表達(dá)式,在表達(dá)式為 False 的時(shí)候觸發(fā)異常。本文將通過示例詳細(xì)介紹一下斷言,需要的可以參考一下
    2022-03-03
  • python中opencv實(shí)現(xiàn)圖片文本傾斜校正

    python中opencv實(shí)現(xiàn)圖片文本傾斜校正

    圖片有的時(shí)候需要矯正,本文主要介紹了python中opencv實(shí)現(xiàn)圖片文本傾斜校正,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-06-06
  • 用OpenCV將視頻分解成單幀圖片,圖片合成視頻示例

    用OpenCV將視頻分解成單幀圖片,圖片合成視頻示例

    今天小編就為大家分享一篇用OpenCV將視頻分解成單幀圖片,圖片合成視頻示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • python3+selenium實(shí)現(xiàn)qq郵箱登陸并發(fā)送郵件功能

    python3+selenium實(shí)現(xiàn)qq郵箱登陸并發(fā)送郵件功能

    這篇文章主要為大家詳細(xì)介紹了python3+selenium實(shí)現(xiàn)qq郵箱登陸,并發(fā)送郵件功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-01-01
  • 詳解python的二進(jìn)制轉(zhuǎn)化模塊

    詳解python的二進(jìn)制轉(zhuǎn)化模塊

    這篇文章主要為大家介紹了python的二進(jìn)制轉(zhuǎn)化模塊,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-01-01
  • 詳解Python計(jì)算機(jī)視覺 圖像扭曲(仿射扭曲)

    詳解Python計(jì)算機(jī)視覺 圖像扭曲(仿射扭曲)

    這篇文章主要介紹了Python計(jì)算機(jī)視覺 圖像扭曲(仿射扭曲),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • 解決python3捕獲cx_oracle拋出的異常錯(cuò)誤問題

    解決python3捕獲cx_oracle拋出的異常錯(cuò)誤問題

    今天小編就為大家分享一篇解決python3捕獲cx_oracle拋出的異常錯(cuò)誤問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-10-10
  • Python從視頻中提取音頻的操作

    Python從視頻中提取音頻的操作

    這篇文章主要介紹了Python從視頻中提取音頻的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04

最新評(píng)論