【学习笔记】32、字符串格式化
字符串格式化
Python中字符串格式化的方法不止一種,每種方式都有它的優缺點,具體使用哪一種,需要取決于具體情況。
一、舊式字符串格式化
Python內置了一個獨特的字符串操作:通過“%操作符”可以方便快捷地進行位置格式化。
?
如果要在單個字符串中進行多次替換,需要對舊式字符串格式化語法加以改動,由于%操作符只能接收一個參數,因此需要將字符串包裝到右邊的元組中。
?
二、新式字符串格式化
新式字符串格式化可以免去%操作符這種特殊的語法,并使得字符串格式化的語法更加規整,新式字符串在字符串對象上調用了format()函數。
上例中將int變量格式化為十六進制數字符串的語法也改變了,需要在變量名后面添加“:x”后綴來傳遞格式規范。
三、字符串字面值插值(Python3.6+)
格式化字符串字面值(formatted string literal),可以在字符串常量內使用嵌入的Python表達式。這種新的格式語法非常強大,由于其中可以嵌入任意的Python表達式,所以甚至能內聯算術運算。
本質上格式化字符串字面值是Python解析器的功能,將f字符串轉換為一系列字符串常量和表達式,然后合并起來構建最終字符串。
四、模板字符串
模板字符串(template string),需要從Python的內置字符串模塊中導入Template類,模板字符串不是核心語言功能,而是由標準庫中的模塊提供。
?模板字符串最佳使用場景是用來處理程序用戶生成的格式字符串,因為模板字符串較為簡單,所以比較安全。
【總結】
如果格式字符串使用戶提供的,使用模板字符串來避免安全問題,如果不是,在考慮Python的版本,Python3.6+就使用字符串字面值插值,其他版本就使用新式字符串格式化。
總結
以上是生活随笔為你收集整理的【学习笔记】32、字符串格式化的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【学习笔记】31、Python中的断言
- 下一篇: 【学习笔记】35、定义自己的异常类