飄逸的python - 增強的格式化字串format函式
自python2.6開始,新增了一種格式化字串的函式str.format(),可謂威力十足。那麼,他跟之前的%型格式化字串相比,有什麼優越的存在呢?讓我們來揭開它羞答答的面紗。
語法
它通過{}和:來代替%。
“對映”示例
通過位置
In [1]: '{0},{1}'.format('kzc',18)
Out[1]: 'kzc,18'
In [2]: '{},{}'.format('kzc',18)
Out[2]: 'kzc,18'
In [3]: '{1},{0},{1}'.format('kzc',18)
Out[3]: '18,kzc,18'
字串的format函式可以接受不限個引數,位置可以不按順序,可以不用或者用多次,不過2.6不能為空{},2.7才可以。
通過關鍵字引數
In [5]: '{name},{age}'.format(age=18,name='kzc')
Out[5]: 'kzc,18'
通過物件屬性
class Person:
def __init__(self,name,age):
self.name,self.age = name,age
def __str__(self):
return 'This guy is {self.name},is {self.age} old'.format(self=self)
In [2]: str(Person('kzc',18))
Out[2]: 'This guy is kzc,is 18 old'
通過下標
In [7]: p=['kzc',18]
In [8]: '{0[0]},{0[1]}'.format(p)
Out[8]: 'kzc,18'
有了這些便捷的“對映”方式,我們就有了偷懶利器。基本的Python知識告訴我們,list和tuple可以通過“打散”成普通引數給函式,而dict可以打散成關鍵字引數給函式(通過和*)。所以可以輕鬆的傳個list/tuple/dict給format函式。非常靈活。
格式限定符
它有著豐富的的“格式限定符”(語法是{}中帶:號),比如:
填充與對齊
填充常跟對齊一起使用
^、<、>分別是居中、左對齊、右對齊,後面頻寬度
:號後面帶填充的字元,只能是一個字元,不指定的話預設是用空格填充
比如
In [15]: '{:>8}'.format('189')
Out[15]: ' 189'
In [16]: '{:0>8}'.format('189')
Out[16]: '00000189'
In [17]: '{:a>8}'.format('189')
Out[17]: 'aaaaa189'
精度與型別f
精度常跟型別f一起使用
In [44]: '{:.2f}'.format(321.33345)
Out[44]: '321.33'
其中.2表示長度為2的精度,f表示float型別。
其他型別
主要就是進位制了,b、d、o、x分別是二進位制、十進位制、八進位制、十六進位制。
In [54]: '{:b}'.format(17)
Out[54]: '10001'
In [55]: '{:d}'.format(17)
Out[55]: '17'
In [56]: '{:o}'.format(17)
Out[56]: '21'
In [57]: '{:x}'.format(17)
Out[57]: '11'
用,號還能用來做金額的千位分隔符。
In [47]: '{:,}'.format(1234567890) Out[47]: '1,234,567,890'
相關文章
- Python中format函式字串格式化入門PythonORM函式字串格式化
- python函式每日一講 - format函式字串格式化入門Python函式ORM字串格式化
- Python中對字串格式化的方法:%、format()、以及f+字串詳解Python字串格式化ORM
- #微碼分享#C++變參字串格式化函式format_stringC++字串格式化函式ORM
- JAVA字串格式化-String.format()的使用Java字串格式化ORM
- 善用 Format 來格式化字串ORM字串
- 12.2、python內建函式—formatPython函式ORM
- Python中應該使用%還是format來格式化字串?PythonORM字串
- Python巢狀定義函式增強reduce()函式功能Python巢狀函式
- python字串的格式化Python字串
- 想要在JS中把正則玩得飄逸,學會這幾個函式的使用必不可少JS函式
- 一文秒懂!Python字串格式化之format方法詳解Python字串格式化ORM
- 22.python自定義函式(format,zip)Python函式ORM
- Python中的字串與字串格式化Python字串格式化
- python裡的tplt什麼意思 Python的format格式化輸出PythonORM
- Python中的字串格式化方法Python字串格式化
- python字串格式化的方法整理Python字串格式化
- Python 3的f-Strings:增強的字串格式語法(指南)Python字串
- Python:字串格式化Python字串格式化
- clang-format的程式碼格式化ORM
- Python 字串格式化(Python IO)Python字串格式化
- 字串的相關函式字串函式
- 簡單介紹python format格式化和數字格式化PythonORM
- [轉]Python格式化字串的4種方式Python字串
- 教你Python格式化字串的3種方法Python字串
- python3 筆記12.字串支援的函式Python筆記字串函式
- Python3:格式化輸出之format方法PythonORM
- Python 字串格式化指南Python字串格式化
- Python學習-字串函式操作1Python字串函式
- Python學習-字串函式操作3Python字串函式
- 使用互動式 shell 來增強你的 PythonPython
- 全網最適合入門的物件導向程式設計教程:54 Python字串與序列化-字串格式化與format方法物件程式設計Python字串格式化ORM
- 使用.format格式化json格式的入參ORMJSON
- HGDB相容MySQL date_format函式MySqlORM函式
- 總結常用的字串函式字串函式
- 字串比較的常用函式字串函式
- 擺脫笨重!飄逸持久的RTX筆記本帶來不一樣的感受筆記
- python 的數值和字串和相關內建函式Python字串函式
- Python input()函式:獲取使用者輸入的字串Python函式字串