python字串的format函數如何使用?

來源:互聯網
上載者:User

標籤:

本文和大家分享的主要是python中字串的format函數相關內容,一起來看看吧,希望對大家學習python有所協助。

從python2.6之後,python中的字串就有了str.format()函數這一格式控制的強大工具。相比於之前使用%的格式控制手段,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中用以代替他的值。可以接受不限個參數,位置可以不按順序,可以不用或者用多次。

通過關鍵字參數

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’

在參數列表中指定要顯示的對象的屬性,並在format中傳入這個對象。

通過下標

In [7]: p=[’kzc’,18]

In [8]: ’{0[0]},{0[1]}’.format(p)

Out[8]: ’kzc,18’

結合位置與下表進行傳參。

格式限定符

填充與對齊

填充常跟對齊一起使用 ^、<、>分別是置中、靠左對齊、靠右對齊,後面頻寬度 :號後面帶填充的字元,只能是一個字元,不指定的話預設是用空格填充 比如

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’

精度與類型

In [44]: ’{:.2f}’.format(321.33345)

Out[44]: ’321.33’

精度常跟類型f一起使用,本例中.2表示長度為2的精度,f表示float類型。

進位轉換

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’

b、d、o、x分別是二進位、十進位、八進位、十六進位,跟在冒號後面

分割字元

In [47]: ’{:,}’.format(1234567890)

Out[47]: ’1,234,567,890’

用逗號還能用來做金額的千位分隔字元。

 

 

來源:Myths的個人部落格

python字串的format函數如何使用?

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.