python教程:一篇文章让你理解字符串的格式化
生活随笔
收集整理的這篇文章主要介紹了
python教程:一篇文章让你理解字符串的格式化
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
有這樣一個字符串:
sg = """ ------info------ name:meet age:18 sex:男 hobby:女 -------end------ """如果我們想讓用戶輸入名字,年齡,性別和愛好,然后程序按照上面的格式給打印出來。從目前我們所學的知識,我們可以用這樣的代碼來實現:
a = "------info------" b = "name: " c = "age: " d = "sex: " e = "hobby: " f = "-------end------" name = input(b) age = input(c) sex = input(d) hobby = input(e) print(a) print(b + name) print(c + age) print(d + sex) print(e + hobby) print(f)代碼運行后就是這樣的:
name: alex age: 18 sex: 男 hobby: 女 ------info------ name:alex age:18 sex:男 hobby:女 -------end------% 格式化
不過雖然我們實現了需求,但是太過繁瑣。這里就可以用到格式化的方法。格式化,就是在字符串中需要自定義的位置放入占位符,然后通過給占位符提供數據,從而構建新的字符串。提供的數據需要和占位符一一對應,否則將會報錯。
Python中常用的占位符有:
- %s 字符串:%s 可以填充字符串也可以填充數字(其實也可以是其他數據類型)
- %d | %i 整型:必須填充數字
- %% 轉義:變成普通的 %
有了格式化的方法,上面的例子我們就可以簡化成這個樣子:
name = input("name: ") age = input("age: ") sex = input("sex: ") hobby = input("hobby: ") a = "哈哈啊" msg = """ ------info------ name: %s age: %s sex: %s hobby: %s -------end------ """ print(msg % (name, int(age), sex, hobby))f-strings 格式化
在 Python 3.6 及以后的版本中引入了一個新的 f-strings 方法格式字符串,把上面的格式化方法進一步簡化,具體做法為:
msg = f""" ------info------ name: {input("name: ")} age: {input("age: ")} sex: {input("sex: ")} hobby: {input("hobby: ")} -------end------ """ print(msg)在字符串的引號前,用小寫字母 f 聲明字符串為 f-strings 格式的字符串。用大括號將需要格式化的位置標記出來,在大括號里面填入變量或者數據,構建成新的字符串。
可以通過兩個大括號來進行轉義,表示普通的大括號:
{{ }}字符串的 .format() 方法
.format() 方法是另外一種字符串格式化的方法:
''' 學習中遇到問題沒人解答?小編創建了一個Python學習交流QQ群:857662006 尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學習教程和PDF電子書! ''' s = 'alex{}wu{}si{}r' s1 = s.format('你好', '我好', '大家好') print(s1)輸出的結果為:alex你好wu我好si大家好r.format() 方法除了向上面這種按照位置格式化之外,還可以按照索引格式化:
s = 'alex{0}wu{2}si{1}r' s1 = s.format('你好', '我好', '大家好') print(s1)輸出的結果為:alex你好wu大家好si我好r.format() 方法還可以按照關鍵字進行格式化:
s = 'alex{a}wu{c}si{b}r' s1 = s.format(b = '你好', a = '我好', c = '大家好') print(s1)輸出的結果為:alex我好wu大家好si你好r總結
以上是生活随笔為你收集整理的python教程:一篇文章让你理解字符串的格式化的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python函数教程:global 和
- 下一篇: Python教程:json中encode