Python 字串格式化輸出方式

2022-09-05 03:39:10 字數 2009 閱讀 2061

字串格式化有兩種方式:百分號方式、format方式。

其中,百分號方式比較老,而format方式是比較先進的,企圖替代古老的方式,目前兩者共存。

格式:%[(name)][flags][width].[precision]typecode

width    可選,占有寬度

.precision    可選,小數點後保留的位數

typecode     必選

例子:

>>> s = '

hello, %s!

' % '

python

'>>>s

'hello, python!

'>>> s = '

hello, %s, %d!

' % ('

python

', 2018)

>>>s

'hello, python, 2018!

'>>> s = '

hello, %(name)s, %(year)d!

' %

>>>s

'hello, python, 2018!

'>>> s = '

hello, %(name)+10s, %(year)-10d!

' %

>>>s

'hello, python, 2018 !

'>>> s = '

hello, %(name)s, %(year).3f!

' %

>>>s

'hello, python, 2018.000!

'

%r 與 %s 區別:

%r 用來做 debug 比較好,因為它會顯示變數的原始資料(raw data),而其它的符號則是用來向使用者顯示輸出的。

>>> a = '

sunday

'>>> print("

today is %s

" %a)

today

issunday

>>> print("

today is %r

" %a)

today is'

sunday'#

格式化部分用單引號輸出

>>> from datetime import

datetime

>>> d =datetime.now()

>>> print('

%s' %d)

2018-09-10 08:52:00.769949

>>> print('

%r' %d)

datetime.datetime(2018, 9, 10, 8, 52, 0, 769949) #

可以看見與上面輸出存在明顯的區別

>>> s = '

hello, {}, {}

'.format('

python

', 2018)

>>>s

'hello, python, 2018

'>>> s = '

hello, , , hi,

'.format('

python

', 2018)

>>>s

'hello, python, 2018, hi, python

'>>> s = '

hello, , , hi,

'.format(name='

python

', year=2018)

>>>s

'hello, python, 2018, hi, python

'>>> s = '

hello, , , hi,

'.format('

python

', 2018, 9.7)

>>>s

'hello, python, 2018, hi, 9.700000

'

python字串格式化輸出

python中有兩種格式化輸出字串的方式 格式化表示式 format 方法。當然,還有乙個簡化操作的內建format 函式。它們絕大部分功能都是重複的,熟悉printf的可以考慮使用格式化表示式,否則使用format 更友好些,因為它像處理函式引數一樣,但format 有時候可能寫的要更複雜。格式化...

python 字串格式化輸出

age 18 年齡 name hello 姓名 print name 今年 str age 歲 或者print name 今年 age,歲 這種轉換很麻煩,如果輸出中有多處需要轉換的地方 格式化輸出 d整數 f 浮點數 s字串 第一種 print s今年 d歲 name,age 按順序取值 s可以放...

python字串格式化輸出

python中有兩種格式化輸出字串的方式 格式化表示式 format 方法。當然,還有乙個簡化操作的內建format 函式。它們絕大部分功能都是重複的,熟悉printf的可以考慮使用格式化表示式,否則使用format 更友好些,因為它像處理函式引數一樣,但format 有時候可能寫的要更複雜。格式化...