0. 摘要
Python支持多種格式化字符串的方法,包括%-fromatting、str.format()、f-strings三種,f-strings是Python3.6以后出現的一種新方法,相比其他方法,更簡潔、易讀、速度快。
1. %-formatting
%格式化字符串是Python中比較老的一種用法。
例1:只有一個變量格式化輸出
>>> name = 'Jack'
>>> 'Hello, %s.' %name'Hello, Jack.'
例2:有多個變量需要替換時,使用這些變量的元祖。
>>> name = 'Jack'
>>> age = 20
>>> "Hello, I'm %s, %d years old." %(name, age)"Hello, I'm Jack, 20 years old."
2. str.format()
在Python2.6中引入了更新的格式化方式str.format()
例1:需替換的字段用{}標記
>>> name = 'Jack'
>>> age = 20
>>> "Hello, I'm {}, {} years old.".format(name, age)"Hello, I'm Jack, 20 years old."
例2:使用索引引用變量,這樣變量和替換的標記就不必一一對應。
>>> name = 'Jack'
>>> age = 20
>>> language = 'Python'
>>> "Hello, I'm {0}, {1} years old. My name is {0}".format(name, age)"Hello, I'm Jack, 20 years old. My name is Jack"
例3:使用名稱引用變量替換
>>> name = 'Jack'
>>> age = 20
>>> "Hello, I'm {na}, {ag} years old. My name is {na}".format(na=name, ag=age)"Hello, I'm Jack, 20 years old. My name is Jack"
3. f-strings
Python3.6中使用了一種更加簡潔明了的格式化方法,該方法允許在字符串中嵌入變量、表達式。該方法使用格式: f"string"
例1:
>>> name = 'Jack'
>>> age = 20
>>> f"Hello, I'm {name}, {age} years old."
"Hello, I'm Jack, 20 years old."
例2:使用任意表達式
>>> f"{20*5}"
'100'
例3:調用函數
>>> name = "Jack"
>>> f"Hello, I'm {name.lower()}"
"Hello, I'm jack"
例4:多行文本
>>> f"""... I'm {name},
... I'm {age} years old.
..."""
"\nI'm Jack,\nI'm 20 years old.\n"
參考文檔:

被折叠的 条评论
为什么被折叠?



