python中的format怎么用

這篇文章主要介紹“python中的format怎么用”,在日常操作中,相信很多人在python中的format怎么用問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”python中的format怎么用”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!

成都創(chuàng)新互聯(lián)客戶idc服務(wù)中心,提供服務(wù)器托管、成都服務(wù)器、成都主機(jī)托管、成都雙線服務(wù)器等業(yè)務(wù)的一站式服務(wù)。通過(guò)各地的服務(wù)中心,我們向成都用戶提供優(yōu)質(zhì)廉價(jià)的產(chǎn)品以及開(kāi)放、透明、穩(wěn)定、高性價(jià)比的服務(wù),資深網(wǎng)絡(luò)工程師在機(jī)房提供7*24小時(shí)標(biāo)準(zhǔn)級(jí)技術(shù)保障。

具體用法分析如下:

format 基本語(yǔ)法是通過(guò) {} 和 : 來(lái)代替以前的 % 。

format 函數(shù)可以接受不限個(gè)參數(shù),位置可以不按順序。

format優(yōu)點(diǎn):

format是python2.6新增的一個(gè)格式化字符串的方法,相對(duì)于老版的%格式方法,它有很多優(yōu)點(diǎn)。

1.不需要理會(huì)數(shù)據(jù)類(lèi)型的問(wèn)題,在%方法中%s只能替代字符串類(lèi)型

2.單個(gè)參數(shù)可以多次輸出,參數(shù)順序可以不相同

3.填充方式十分靈活,對(duì)齊方式十分強(qiáng)大

4.官方推薦用的方式,%方式將會(huì)在后面的版本被淘汰

format基本用法:

"Hello {0} {1}".format("Chen","xin") # 引用第一個(gè)參數(shù)
# 輸出 'Hello Chen xin'
"{} is cute".format("Chen xin") # 引用第一個(gè)參數(shù)
# 輸出 'Chen xin is good'
"My name is {name}".format(name="Chen xin") # 引用名字為name的參數(shù)
# 輸出 'My name is Chen xin'

1. 類(lèi)型轉(zhuǎn)換

  • !s

  • !r

"Chen xin is a cute {!s}".format("baby") # !s 相當(dāng)于對(duì)于參數(shù)調(diào)用str()
# 輸出 'Peppa pig is a cute baby' 
"Chen xin is a cute {!r}".format("baby") # !r 相當(dāng)于對(duì)于參數(shù)調(diào)用repr()
# 輸出 "Peppa pig is a cute 'baby'"

2. 通過(guò)位置來(lái)填充字符串

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

同一個(gè)參數(shù)可以填充多次,這個(gè)是format比%先進(jìn)的地方

3. 按名稱(chēng)訪問(wèn)參數(shù)

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. 通過(guò)參數(shù)屬性訪問(wèn)

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'))) 
# 網(wǎng)站名:小新, 地址 www.xieniao.com

5. 通過(guò)參數(shù)的items訪問(wèn)

my_list = ['小新', 'www.xieniao.com'] 
print("網(wǎng)站名:{0[0]}, 地址 {0[1]}".format(my_list))  # "0" 是必須的
# 網(wǎng)站名:小新, 地址 www.xieniao.com

6. 對(duì)齊字符串

"{:>5}".format(1) # 設(shè)置寬度為5,右對(duì)齊
"{:>5}".format(10)
"{:>5}".format(100)
"{:>5}".format(1000)
# 輸出下面的結(jié)果
'    1'
'   10'
'  100'
' 1000'
print('{:_<30}'.format('left aligned'))
#'left aligned__________________'
print('{:_>30}'.format('right aligned'))
#'__________________right aligned' 
print('{:_^30}'.format('centered'))
#'__________________centered__________________'
  • ^   居中     后面帶寬度,

  • <   左對(duì)齊 后面帶寬度,

  • >   右對(duì)齊 后面帶寬度,

  •  :   號(hào)后面帶填充的字符,只能是一個(gè)字符,不指定則默認(rèn)是用空格填充。

7. 截?cái)嘧址?/p>

'{:.5}'.format('Hello Chen') # 截取前5個(gè)字符
# 輸出 'Hello'

8. 數(shù)字格式化

print("{:.2f}".format(3.1415926));
# 3.14
  • + 表示在正數(shù)前顯示 +,

  • -  負(fù)數(shù)  

  • (空格) 表示在正數(shù)前加空格

  • b  二進(jìn)制

  • d  十進(jìn)制

  • o  八進(jìn)制

  • x  十六進(jìn)制

9. 使用逗號(hào)作為千位分隔符

print('{:,}'.format(1234567890)) 
#'1,234,567,890'

10. 表示一個(gè)百分比

print('number: {:.2%}'.format(0.61898)) 
# number: 61.90%

11. 時(shí)間格式化

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. 訪問(wèn)元組中的元素

a = (1,2)
'X: {0[0]};  Y: {0[1]}'.format(a)
# 輸出 'X: 1;  Y: 2'
# 注意:用%格式化字符串不支持此功能

13. 訪問(wèn)字典中的元素

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'
# 注意:用%格式化字符串不支持此功能

到此,關(guān)于“python中的format怎么用”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!

網(wǎng)站名稱(chēng):python中的format怎么用
本文URL:http://bm7419.com/article24/gegoce.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營(yíng)銷(xiāo)推廣、云服務(wù)器、網(wǎng)站導(dǎo)航、響應(yīng)式網(wǎng)站、網(wǎng)站內(nèi)鏈App開(kāi)發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

綿陽(yáng)服務(wù)器托管