您好,登錄后才能下訂單哦!
這篇文章主要介紹“python中的format怎么用”,在日常操作中,相信很多人在python中的format怎么用問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”python中的format怎么用”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
具體用法分析如下:
format 基本語法是通過 {} 和 : 來代替以前的 % 。
format 函數可以接受不限個參數,位置可以不按順序。
format優點:
format是python2.6新增的一個格式化字符串的方法,相對于老版的%格式方法,它有很多優點。
1.不需要理會數據類型的問題,在%方法中%s只能替代字符串類型
2.單個參數可以多次輸出,參數順序可以不相同
3.填充方式十分靈活,對齊方式十分強大
4.官方推薦用的方式,%方式將會在后面的版本被淘汰
format基本用法:
"Hello {0} {1}".format("Chen","xin") # 引用第一個參數 # 輸出 'Hello Chen xin' "{} is cute".format("Chen xin") # 引用第一個參數 # 輸出 'Chen xin is good' "My name is {name}".format(name="Chen xin") # 引用名字為name的參數 # 輸出 'My name is Chen xin'
1. 類型轉換
!s
!r
"Chen xin is a cute {!s}".format("baby") # !s 相當于對于參數調用str() # 輸出 'Peppa pig is a cute baby' "Chen xin is a cute {!r}".format("baby") # !r 相當于對于參數調用repr() # 輸出 "Peppa pig is a cute 'baby'"
2. 通過位置來填充字符串
print('{0}, {1}, {2}'.format('a', 'b', 'c')) # a, b, c print('{}, {}, {}'.format('a', 'c')) # a, c print('{2}, {0}'.format('a', 'c')) # c, a print('{2}, {0}'.format(*'abc')) # c, a print('{0} {1} {0}'.format('aa', 'bb')) # aa bb aa
同一個參數可以填充多次,這個是format比%先進的地方
3. 按名稱訪問參數
print('name: {last_name}{first_name}'.format(last_name='chen', first_name='xin')) # name: chenxin name= {'last_name': 'chen', 'first_name': 'xin'} print('name: {last_name}, {first_name}'.format(**name)) # name: chenxin
4. 通過參數屬性訪問
class MyList: def __init__(self, x, y): self.x, self.y = x, y def __str__(self): return 'MyList({self.x}, {self.y})'.format(self = self) print(str(MyList('小新', 'www.xieniao.com'))) # 網站名:小新, 地址 www.xieniao.com
5. 通過參數的items訪問
my_list = ['小新', 'www.xieniao.com'] print("網站名:{0[0]}, 地址 {0[1]}".format(my_list)) # "0" 是必須的 # 網站名:小新, 地址 www.xieniao.com
6. 對齊字符串
"{:>5}".format(1) # 設置寬度為5,右對齊 "{:>5}".format(10) "{:>5}".format(100) "{:>5}".format(1000) # 輸出下面的結果 ' 1' ' 10' ' 100' ' 1000' print('{:_<30}'.format('left aligned')) #'left aligned__________________' print('{:_>30}'.format('right aligned')) #'__________________right aligned' print('{:_^30}'.format('centered')) #'__________________centered__________________'
^ 居中 后面帶寬度,
< 左對齊 后面帶寬度,
> 右對齊 后面帶寬度,
: 號后面帶填充的字符,只能是一個字符,不指定則默認是用空格填充。
7. 截斷字符串
'{:.5}'.format('Hello Chen') # 截取前5個字符 # 輸出 'Hello'
8. 數字格式化
print("{:.2f}".format(3.1415926)); # 3.14
+ 表示在正數前顯示 +,
- 負數
(空格) 表示在正數前加空格
b 二進制
d 十進制
o 八進制
x 十六進制
9. 使用逗號作為千位分隔符
print('{:,}'.format(1234567890)) #'1,234,567,890'
10. 表示一個百分比
print('number: {:.2%}'.format(0.61898)) # number: 61.90%
11. 時間格式化
import datetime d = datetime.datetime(2018, 7, 31, 15, 58, 58) print('{:%Y-%m-%d %H:%M:%S}'.format(d)) # 2018-07-31 15:58:58
12. 訪問元組中的元素
a = (1,2) 'X: {0[0]}; Y: {0[1]}'.format(a) # 輸出 'X: 1; Y: 2' # 注意:用%格式化字符串不支持此功能
13. 訪問字典中的元素
people = {"name": "Chen", "age": 18} "My name is {p[name]} and my age is {p[age]}".format(p=people ) # 輸出 'My name is Chen and my age is 18' # 注意:用%格式化字符串不支持此功能
到此,關于“python中的format怎么用”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。