網站首頁 學習教育 IT科技 金融知識 旅遊規劃 生活小知識 家鄉美食 養生小知識 健身運動 美容百科 遊戲知識 綜合知識
當前位置:趣知科普吧 > IT科技 > 

python格式化字元串

欄目: IT科技 / 發佈於: / 人氣:2.92W

python怎麼格式字元串呢?不知道的小夥伴來看看小編今天的分享吧!

python中格式化字元串有三種方法:%、format()、添加的f字元串調試。

1、%格式化字元串

%格式化字元串是python最早的,也是能相容所有版本的一種字元串格式化方法,在一些python早期的庫中,建議使用%格式化方式,他會把字元串中的格式化符按順序後面參數替換,格式是

"xxxxxx %s xxxxxx" % (value1, value2)

其中 %s就是格式化符,意思是把後面的值格式化爲字元類型,類似的格式化符還有%d,%f等,具體參考文章Python字元串格式化

後面的value1,value2就是要格式化的值,不論是字元還是數值,都會被格式化爲格式化符對應的類型

當然可以不用以元組的形式傳值,你可以直接寫這樣:"xxxxx %s" % value,不過不建議這樣寫,一是應爲這樣只能傳遞一個參數,二是如果value是元組或列表等類型,這樣會觸發TypeErrer

如果只傳一個參數,並且很確定參數類型不會觸發異常,可以使用上面的寫法,否則,要提供一個單元素元組,就像"xxxx %s " % (value,)

python格式化字元串

2、format()

%雖然強大,但用起來難免有些麻煩,代碼也不是特別美觀,因此,在python 2.5 之後,提供了更加優雅的str.format()方法。

def format(self, *args, **kwargs): # known special case of str.format

"""

S.format(*args, **kwargs) -> str

Return a formatted version of S, using substitutions from args and kwargs.

The substitutions are identified by braces ('{' and '}').

"""

pass

python格式化字元串 第2張

format()的常用用法:

# 使用名稱佔位符

s2 = "xxxx {age} xxxx {name}".format(age=18, name="hangman")

print(s2)  # xxxx 18 xxxx hangman

# 使用序號佔位符,爲空默認從左到右01234.。

s3 = "xxxx {1} xxx{0}".format(value1,value2)

print(s3)  # xxxx [9, 0] xxx(7, 8)

# 也可以混合使用

s4 = "xxxx {} XXX {name} xxx {}".format(value2,value1,name="s4")

print(s4)  # xxxx [9, 0] XXX s4 xxx (7, 8)

3、 f-string

f-string是2015年python 3.6 根據PEP 498新添加的一種字元串格式化方法,f-string實際上是在執行時計算的表達式,而不是常量值。在Python原始碼中,f-string是一個文字字元串,前綴爲’f’,其中包含大括號內的表達式。表達式會將大括號中的內容替換爲其值。例如:

import datetime

name = "zings"

age = 17

date = datetime.date(2019,7,18)

print(f'my name is {name}, this year is {date:%Y},Next year, I'm {age+1}')  # my name is zings, this year is 2019,Next year, I'm 18