字串格式化有兩種方式:百分號方式、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 有時候可能寫的要更複雜。格式化...