天天看點

python 學習筆記(09)

字元串格式化

轉換說明符:

        % 字元:标記轉換說明符的開始

        轉換标志(可選):

            - (減号)――左對齊

            +  (加号) ――在轉換值之前要加上正負号

            “”(空白字元)――正數之前保留白格

                0(零) ―― 轉換值若位數不夠用0填充

         最小字段寬度(可選):轉換後的字元串至少應該具有該值指定的寬度,如果是* 則寬度會從值元組中讀出

         .(點)後跟精度值(可選):

                如果是實數,精度值就會出現在小數點後的位數

                如果是字元串,那麼該數字表示最大字段寬度

                如果是 * ,精度值将會從元組中讀出

字元串格式化轉換類型:

轉換類型

含義

d,i

帶符号的十進制數

o

不帶符号的八進制數

u

不帶符号的十進制數

x

不帶符号的十六進制(小寫)

X

不帶符号的十六進制(大寫)

e

科學計數法表示的浮點數(小寫)

E

科學計數法表示的浮點數(大寫)

f,F

十進制浮點數

g

如果指數大于-4或小于精度值與e相同,其它與f 相同

G

如果指數大于-4或小于精度值與E相同,其它與f 相同

C

單字元(接受整數或單字元字元串)

r

字元串(使用repr 轉換任意 Python 對象)

s

字元串(使用str 轉換任意Python 對象)

簡單的轉換:

    >>> ‘Price of eggs: $%d’ % 30

    Price of eggs: $30

    >>>Price of eggs: %x’% 31

Price of eggs: 1f

>>>from math import pi

>>>’Pi: %f’ % pi

‘Pi: 3.141593’

>>>’Pi: %i’ % pi

‘Pi: 3’

>>>’Using str: %s’ % 42L

’Using str: 42’

>>>’Using str: %r’ % 42L

>>>’Using str: 42L

寬度和精度

    >>>’%10f’ % pi    #字段寬10

    ‘  3.141593’

    >>>’%10.2f’ % pi  #字段寬10,精度2

    ‘     3.14’

    >>>’%.2f’ % pi

    ‘3.14’

>>>’%.5s’ % ‘Guido van Rossum’  #5個字元

    ‘Guido’

        可以使用 * 作為字段寬度或精度(或兩者都使用 *),此時,數值會從元組參數中讀出

        >>>’%.*s’ % (5, ‘Guido van rossum’)     #精度5

        ‘Guido’

符号,對齊,0填充

    >>>'%010.2f' % pi       #0填充,10位,2精度,10進制

    '0000003.14'

    >>>’%-10.2f’  % pi    #左對齊,10位,2精度,10進制

    ‘3.14      ’

本文轉自 菜鳥的征程 51CTO部落格,原文連結:http://blog.51cto.com/songqinglong/1712240