python字符串格式化方式解析
1.%格式符
name = '李四'
age = 18
a = "姓名:%s,年齡:%s"%(name,age)
print(a) #姓名:李四,年齡:18
b = "%(name)s,%(age)s"%{'name':'張三','age':18}
print(b) #張三,18
這種格式化并不是很好,因?yàn)樗苋唛L并且容易導(dǎo)致錯誤,比如沒有正確顯示元組或字典
2.str.format()
name = '李四'
age = 18
# 替換字段用大括號進(jìn)行標(biāo)記
a1 = "hello, {}. you are {}?".format(name,age)
print(a1) #hello, 李四. you are 18?
# 通過索引來以其他順序引用變量
a2 = "hello, {1}. you are {0}?".format(age,name)
print(a2) #hello, 李四. you are 18?
# 通過參數(shù)來以其他順序引用變量
a3 = "hello, {name}. you are {age1}?".format(age1=age,name=name)
print(a3) #hello, 李四. you are 18?
# 從字典中讀取數(shù)據(jù)時還可以使用 **
data = {"name":"張三","age":18}
a4 = "hello, {name}. you are {age}?".format(**data)
print(a4) #hello, 李四. you are 18?
在處理多個參數(shù)和更長的字符串時仍然可能非常冗長
3.f-Strings
f-strings 是指以 f 或 F 開頭的字符串,其中以 {} 包含的表達(dá)式會進(jìn)行值替換。
name = '李四'
age = 18
# F 和 f 的簡單使用
b1 = f"hello, {name}. you are {age}?"
b2 = F"hello, {name}. you are {age}?"
print(b1) # hello, 李四. you are 18?
print(b2) # hello, 李四. you are 18?
# 字典也可以
teacher = {'name': 'meet', 'age': 18}
msg = f"The teacher is {teacher['name']}, aged {teacher['age']}"
print(msg) # The comedian is meet, aged 18
# 列表也行
l1 = ['meet', 18]
msg = f'姓名:{l1[0]},年齡:{l1[1]}.'
print(msg) # 姓名:meet,年齡:18.
#可以插入表達(dá)式
def sum_a_b(a,b):
return a + b
a = 1
b = 2
print('求和的結(jié)果為' + f'{sum_a_b(a,b)}')
#多行f 反斜杠
name = 'barry'
age = 18
ajd = 'handsome'
speaker = f'Hi {name}.'\
f'You are {age} years old.'\
f'You are a {ajd} guy!'
print(speaker) #Hi barry.You are 18 years old.You are a handsome guy!
print(f"{You are very \"handsome\"}") #報錯
#括號的處理 -->重點(diǎn):兩對為一組
print(f"{{73}}") # {73}
print(f"{{{73}}}") # {73}
print(f"{{{{73}}}}") # {{73}}
m = 21
# ! , : { } ;這些標(biāo)點(diǎn)不能出現(xiàn)在{} 這里面。
# print(f'{;12}') # 報錯
# 所以使用lambda 表達(dá)式會出現(xiàn)一些問題。
# 解決方式:可將lambda嵌套在圓括號里面解決此問題。
x = 5
print(f'{(lambda x: x*2) (x)}') # 10
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
使用PyTorch/TensorFlow搭建簡單全連接神經(jīng)網(wǎng)絡(luò)
在本篇博客中,我們將介紹如何使用兩大深度學(xué)習(xí)框架——PyTorch 和 TensorFlow,構(gòu)建一個簡單的全連接神經(jīng)網(wǎng)絡(luò),該網(wǎng)絡(luò)包含輸入層、一個隱藏層和輸出層,適合初學(xué)者理解神經(jīng)網(wǎng)絡(luò)的基本構(gòu)建模塊及訓(xùn)練流程,需要的朋友可以參考下2025-02-02
Python爬蟲獲取國外大橋排行榜數(shù)據(jù)清單
這篇文章主要介紹了Python爬蟲獲取國外大橋排行榜數(shù)據(jù)清單,文章通過PyQuery?解析框架展開全文詳細(xì)內(nèi)容,需要的小伙伴可以參考一下2022-05-05
python3學(xué)習(xí)筆記之多進(jìn)程分布式小例子
本篇文章主要介紹了python3學(xué)習(xí)筆記之多進(jìn)程分布式小例子,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-02-02
Python+OpenCV實(shí)現(xiàn)圖像識別替換功能詳解
OpenCV-Python是一個Python庫,旨在解決計算機(jī)視覺問題。本文將利用Python+OpenCV實(shí)現(xiàn)圖像識別替換功能,感興趣的小伙伴可以動手嘗試一下2022-07-07
Django實(shí)現(xiàn)自定義路由轉(zhuǎn)換器
有時候上面的內(nèi)置的url轉(zhuǎn)換器并不能滿足我們的需求,因此django給我們提供了一個接口可以讓我們自己定義自己的url轉(zhuǎn)換器,那么如何實(shí)現(xiàn),本文就來介紹一下2021-05-05
小眾實(shí)用的Python 爬蟲庫RoboBrowser
這篇文章主要介紹了Python 爬蟲庫RoboBrowser的使用簡介,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下2021-03-03

