欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python字符串格式化實(shí)例講解

 更新時(shí)間:2022年10月11日 17:04:28   作者:Python熱愛(ài)者  
字符串是Pyhon中的常用的數(shù)據(jù)類型,這篇文章主要為大家詳細(xì)介紹一下python字符串的格式化教程,文中示例代碼講解詳細(xì),需要的朋友可以參考下

在Python 3.6之前,有兩種將Python表達(dá)式嵌入到字符串文本中進(jìn)行格式化的主要方法:%-formatting和str.format()

一、%-formatting

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

注:這種格式不是很好,因?yàn)樗侨唛L(zhǎng)的,會(huì)導(dǎo)致錯(cuò)誤。

二、str.format()

str.format() 在Python 2.6中引入的。

(1)使用str.format(),替換字段用大括號(hào)標(biāo)記:

"Hello, {}. You are {}.".format(name, age)

# 輸出結(jié)果:'Hello, Eric. You are 74.'

(2)可以通過(guò)引用其索引來(lái)以任何順序引用變量:

"Hello, {1}. You are {0}-{0}.".format(age, name)

# 輸出結(jié)果:'Hello, Eric. You are 74-74.'

(3)如果插入變量名稱,則會(huì)獲得額外的能夠傳遞對(duì)象的權(quán)限,然后在大括號(hào)之間引用參數(shù)和方法:

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

# 輸出結(jié)果:'Hello, Eric. You are 74.'

(4)可以使用**來(lái)用字典來(lái)完成這個(gè)巧妙的技巧:

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

# 輸出結(jié)果:'Hello, Eric. You are 74.'

注:當(dāng)處理多個(gè)參數(shù)和更長(zhǎng)的字符串時(shí),str.format()仍然可能非常冗長(zhǎng)。

三、f-Strings

f-Strings是在Python 3.6開(kāi)始加入標(biāo)準(zhǔn)庫(kù)。也稱為“格式化字符串文字”,F(xiàn)字符串是開(kāi)頭有一個(gè)f的字符串文字,以及包含表達(dá)式的大括號(hào)將被其值替換。

(1)f-Strings

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

# 輸出結(jié)果:'Hello, Eric. You are 74.'

(2)用大寫字母F也是有效的:

name = "Eric"
age = 74
F"Hello, {name}. You are {age}."

# 輸出結(jié)果:'Hello, Eric. You are 74.'

(3)可以調(diào)用函數(shù)

name = "Eric"
age = 74
f"{name.lower()} is funny."

# 輸出結(jié)果:'eric is funny.'

f"{2 * 37}"

# 輸出結(jié)果:'74'

(4)可以使用帶有f字符串的類創(chuàng)建對(duì)象

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}."
    def __repr__(self):
        return f"{self.first_name} {self.last_name} is {self.age}. Surprise!"
new_comedian = Comedian("Eric", "Idle", "74")
f"{new_comedian}"

# 輸出結(jié)果;'Eric Idle is 74.'

f"{new_comedian!r}"

# 輸出結(jié)果:'Eric Idle is 74. Surprise!'

(5)多行f-string

message = (f"Hi {name}. "
        f"You are a {profession}. "
        f"You were in {affiliation}.")

# 輸出結(jié)果:'Hi Eric. You are a comedian. You were in Monty Python.'

message = (f"Hi {name}. "
        "You are a {profession}. "
        "You were in {affiliation}.")

# 輸出結(jié)果:'Hi Eric. You are a {profession}. You were in {affiliation}.'

(6)使用"“”

message = f"""
    Hi {name}. 
    You are a {profession}. 
    You were in {affiliation}.
 """

# 輸出結(jié)果:'\n    Hi Eric. \n    You are a comedian. \n    You were in Monty Python.\n '

(7)性能

f字符串中的f也可以代表“速度快”。f-字符串是運(yùn)行時(shí)渲染的表達(dá)式,而不是常量值。

速度比較:

'''
學(xué)習(xí)中遇到問(wèn)題沒(méi)人解答?小編創(chuàng)建了一個(gè)Python學(xué)習(xí)交流群:711312441
尋找有志同道合的小伙伴,互幫互助,群里還有不錯(cuò)的視頻學(xué)習(xí)教程和PDF電子書!
'''
%%timeit
name = "Eric" 
age = 74 
'%s is %s.' % (name, age)
# 202 ns ± 2.05 ns per loop (mean ± std. dev. of 7 runs, 1000000 loops each)
%%timeit
name = "Eric" 
age = 74 
'{} is {}.'.format(name, age)
# 244 ns ± 5.52 ns per loop (mean ± std. dev. of 7 runs, 1000000 loops each)
%%timeit
name = "Eric" 
age = 74 
'{name} is {age}.'
# 14.4 ns ± 0.0121 ns per loop (mean ± std. dev. of 7 runs, 100000000 loops each)

(8)語(yǔ)法正確格式

f"{'Eric Idle'}"

# 輸出結(jié)果:'Eric Idle'

f'{"Eric Idle"}'

# 輸出結(jié)果:'Eric Idle'

f"""Eric Idle"""

# 輸出結(jié)果:'Eric Idle'

f'''Eric Idle'''

# 輸出結(jié)果:'Eric Idle'

f"The \"comedian<span class="string">" is {name}, aged {age}."

# 輸出結(jié)果:'The "comedian" is Eric, aged 74.'

(9)字典

字典的鍵使用單引號(hào),請(qǐng)記住確保對(duì)包含鍵的f字符串使用雙引號(hào)。

comedian = {'name': 'Eric Idle', 'age': 74}
f"The comedian is {comedian['name']}, aged {comedian['age']}."

# 輸出結(jié)果:'The comedian is Eric Idle, aged 74.'

(10)大括號(hào)

為了使字符串出現(xiàn)大括號(hào),您必須使用雙大括號(hào):

f"{{74}}"

# 輸出結(jié)果:'{74}'

f"{{{{74}}}}"

# 輸出結(jié)果:'{{74}}'

到此這篇關(guān)于Python字符串格式化實(shí)例講解的文章就介紹到這了,更多相關(guān)Python字符串內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • TensorFlow 輸出checkpoint 中的變量名與變量值方式

    TensorFlow 輸出checkpoint 中的變量名與變量值方式

    今天小編就為大家分享一篇TensorFlow 輸出checkpoint 中的變量名與變量值方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-02-02
  • 解決python pandas讀取excel中多個(gè)不同sheet表格存在的問(wèn)題

    解決python pandas讀取excel中多個(gè)不同sheet表格存在的問(wèn)題

    這篇文章主要介紹了解決python pandas讀取excel中多個(gè)不同sheet表格存在的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-07-07
  • Python通過(guò)requests模塊實(shí)現(xiàn)抓取王者榮耀全套皮膚

    Python通過(guò)requests模塊實(shí)現(xiàn)抓取王者榮耀全套皮膚

    只學(xué)書上的理論是遠(yuǎn)遠(yuǎn)不如實(shí)踐帶來(lái)的提升快,只有在實(shí)例中才能獲得能力的提升,本篇文章手把手帶你用Python實(shí)現(xiàn)抓取王者榮耀全套皮膚,大家可以在過(guò)程中查缺補(bǔ)漏,提升水平
    2021-10-10
  • Python使用asyncio處理異步編程的代碼示例

    Python使用asyncio處理異步編程的代碼示例

    在 Python 中,異步編程可以使用 asyncio 庫(kù),該庫(kù)提供了一些工具和功能來(lái)編寫異步代碼,本文介紹了處理異步編程的幾個(gè)關(guān)鍵概念和示例,需要的朋友可以參考下
    2024-07-07
  • 快速解決pyqt5窗體關(guān)閉后子線程不同時(shí)退出的問(wèn)題

    快速解決pyqt5窗體關(guān)閉后子線程不同時(shí)退出的問(wèn)題

    今天小編就為大家分享一篇快速解決pyqt5窗體關(guān)閉后子線程不同時(shí)退出的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-06-06
  • python中pandas常用命令詳解

    python中pandas常用命令詳解

    pandas 是基于NumPy 的一種工具,該工具是為了解決數(shù)據(jù)分析任務(wù)而創(chuàng)建的,這篇文章主要介紹了python中pandas常用命令,需要的朋友可以參考下
    2022-07-07
  • Pygame實(shí)戰(zhàn)練習(xí)之紙牌21點(diǎn)游戲

    Pygame實(shí)戰(zhàn)練習(xí)之紙牌21點(diǎn)游戲

    21點(diǎn)想必是很多人童年時(shí)期的經(jīng)典游戲,我們依舊能記得抱個(gè)老人機(jī)娛樂(lè)的場(chǎng)景,下面這篇文章主要給大家介紹了關(guān)于如何利用python寫一個(gè)簡(jiǎn)單的21點(diǎn)小游戲的相關(guān)資料,需要的朋友可以參考下
    2021-09-09
  • 淺析PEP572: 海象運(yùn)算符

    淺析PEP572: 海象運(yùn)算符

    PEP572的標(biāo)題是「Assignment Expressions」,也就是「賦值表達(dá)式」,也叫做「命名表達(dá)式」,不過(guò)它現(xiàn)在被廣泛的別名是「海象運(yùn)算符」(The Walrus Operator)
    2019-10-10
  • Python數(shù)據(jù)庫(kù)sqlite3圖文實(shí)例詳解

    Python數(shù)據(jù)庫(kù)sqlite3圖文實(shí)例詳解

    SQLite是一個(gè)進(jìn)程內(nèi)的庫(kù),實(shí)現(xiàn)了自給自足的、無(wú)服務(wù)器的、零配置的、事務(wù)性的SQL數(shù)據(jù)庫(kù)引擎,下面這篇文章主要給大家介紹了關(guān)于Python數(shù)據(jù)庫(kù)sqlite3的相關(guān)資料,需要的朋友可以參考下
    2022-09-09
  • Python定制類你不知道的魔術(shù)方法

    Python定制類你不知道的魔術(shù)方法

    你知道什么是定制類?Python中包含很多內(nèi)置的(Built-in)函數(shù),異常,對(duì)象。分別有不同的作用,我們可以重寫這些功能,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2022-07-07

最新評(píng)論