Python format函式詳解

2021-08-09 12:12:00 字數 3006 閱讀 7805

python從2.6開始支援format,新的更加容易讀懂的字串格式化方法,

從原來的% 模式變成新的可讀性更強的

花括號宣告{}、用於渲染前的引數引用宣告, 花括號裡可以用數字代表引用引數的序號, 或者 變數名直接引用。

從format引數引入的變數名 、

冒號:、

字元位數宣告、

空白自動填補符 的宣告

千分位的宣告

變數型別的宣告: 字串s、數字d、浮點數f

對齊方向符號 < ^ >

屬性訪問符中括號 ☐

使用驚嘆號!後接a 、r、 s,宣告 是使用何種模式, acsii模式、引用__repr__ 或 __str__

增加類魔法函式__format__(self, format) , 可以根據format前的字串格式來定製不同的顯示, 如: 』』  此時***x會作為引數傳入__format__函式中。 

綜合舉例說明:

如: 千分位、浮點數、填充字元、對齊的組合使用:

輸入: ''.format(70305084.0)     # :冒號+空白填充+右對齊+固定寬度18+浮點精度.2+浮點數宣告f

輸出:'     70,305,084.00'

複雜資料格式化

輸入: data = [4, 8, 15, 16, 23, 42]

' '.format(d=data)

輸出:23 42

複雜資料格式化:

輸入: 

class plant(object):

type = 'tree'

kinds = [, ]

': '.format(p=plant())

輸出:tree: oak

分類舉例說明:

'{} {}'.format('one', 'two')

' '.format('one', 'two')

output

two one

setup

data =

old

'%(first)s %(last)s' % data

new

' '.format(**data)

output

hodor hodor!

''.format('xylophone')

output

xylop

''.format('test')

output

test

'}'.format('xylophone', 7)

output

xylopho

''.format(42)

output

42

''.format(3.141592653589793)

output

003.14

''.format(42)

output

+42

千分位、浮點數、填充字元、對齊的組合使用:

輸入: ''.format(70305084.0)     # :冒號+空白填充+右對齊+固定寬度18+浮點精度.2+浮點數宣告f

輸出:'     70,305,084.00'

setup

person =

new

' '.format(p=person)

output

jean-luc picard

setup

data = [4, 8, 15, 16, 23, 42]

new

' '.format(d=data)

output

23 42

setup

class plant(object):

type = 'tree'

kinds = [, ]

new

': '.format(p=plant())

output

tree: oak

setup

class data(object):

def __str__(self):

return 'str'

def __repr__(self):

return 'repr'

old

'%s %r' % (data(), data())

new

' '.format(data())

output

str repr

setup

class hal9000(object):

def __format__(self, format):

if (format == 'open-the-pod-bay-doors'):

return "i'm afraid i can't do that."

return 'hal 9000'

new

''.format(hal9000())

output

i'm afraid i can't do that.

setup

from datetime import datetime

new

''.format(datetime(2001, 2, 3, 4, 5))

output

2001-02-03 04:05

Python format函式使用

format函式是一種格式化輸出字串的函式 str.format 基本語法是通過 和 來代替以前的 中可以填寫後面元組中的下標 也可以填寫後面的欄位名 需要知道替換字元的型別,format則不需要 a hello b 小明 小明 age 18,男 adress 上海 用逗號還能做金額的千位分隔符 控...

python format函式使用

format是乙個格式化字串的方法 簡單理解就是把format s1,s2,去替換前面的 舉個例子 city 昆明 province 雲南 print 的省會是 format province,city 輸出 雲南的省會是 昆明 上面的例子是依次按順序填充,第乙個 被替換成format 裡面的第乙個...

python format函式的使用

自 python自2.6後,新增了一種格式化字串函式str.format 威力十足,可以替換掉原來的 注 以下操作版本是python2.7 通過 和 替換 is format jihite 4 years old jihite is 4 years old is format jihite 4 ye...