%方法:
%[(name)][flags][width][.precision]typecode
· (name):可選,用於選擇指定的key
· flags:可選,可供選擇的值有:
· +:右對齊,正數前加正號,負數前加負號
· -:左對齊,正數前無符號,負數前加負號
· 空格:右對齊,正數前加空格,負數前加負號
· 0: 右對齊,正數前無符號,負數前加負號,用0填充空白處
· width:可選,表示占有寬度
· .precision:可選,表示小數點後保留的位數
· typecode:必選
· s:獲取傳入物件的__str__方法的返回值,並將其格式化到指定的位置
· r:獲取傳入物件的__repr__方法的返回值,並將其格式化到指定位置
· c:整數:將數字轉換成其unicode對應的值,10進製範圍為0≤i≤1114111(py2.7只支援0~255);字元:將字元新增到指定位置
· o:將整數轉換成八進位制,並將其格式化到指定位置
· x:將整數、浮點數轉換成十六進製制,並將其格式化到指定位置
· d:將整數、浮點轉換成十進位制,並將其格式化到指定位置
· e:將整數、浮點數轉換成科學記數法,並將其格式化到指定位置
· e:將整數、浮點數轉換成科學記數法,並將其格式化到指定位置
· f:將整數、浮點數轉換成浮點數,並將其格式化到指定位置
· f:將整數、浮點數轉換成浮點數,並將其格式化到指定位置
· g:自動調整將整數、浮點數轉換成浮點數或科學記數法(超過6位用科學記數法)
· g:自動調整將整數、浮點數轉換成浮點數或可續記數法(超過6位用科學記數法)
· %:當字串中存在格式化標誌時,需要用%表示**義)乙個百分號(python中百分號不是自動將整數轉換成二進位制而方式)
一些奇怪條件
填充的內容就是不能是元組
例項
a=
'output a number:%10.3f'
%2.2333
print
(a)a=
'output a number:%-10.3f'
%2.2333
print
(a)a=
'output a number:%010.3f'
%2.2333
print
(a)a=
'output a str:%s'
%'guess what'
print
(a)
輸出:
output a number:
2.233
output a number:
2.233
output a number:
000002.233
output a str
:guess what
format方法
①預設操作:
print
('{}正在看著{}'
.format
('桶'
,'頭罩'))
print
('{}正在看著{}'
.format
('桶',''
))print
('{}正在看著{}'
.format
('桶'
))
輸出結果:
桶正在看著頭罩
桶正在看著
traceback (most recent call last)
: file "c:\users\asus\desktop\hey.py"
, line 3,in
print
('{}正在看著{}'
.format
('桶'))
indexerror: replacement index 1 out of range
for positional args tuple
#出錯惹!↑要兩個空都有東西,沒有也得意思意思填上
注意:此間的引數是按順序進行替換的,順序一定要對
②位置引數
例項:
print
('正在看著'
.format
('桶'
,'頭罩'))
print
('正在看著'
.format
('桶'
,'頭罩'
))
輸出結果:
桶正在看著頭罩
頭罩正在看著桶
③關鍵字引數
例項:
print
('正在看著'
.format
(a='桶'
,b='頭罩'))
print
('正在看著'
.format
(b='頭罩'
,a='桶'))
#引數之間位置交換是可以的,反正已經指向了確定的引數
輸出結果:
桶正在看著頭罩
桶正在看著頭罩
注意:位置方法和關鍵字方法可以混用,但關鍵字一定不能擾亂位置的順序(即位置在前,關鍵字在後)
print
('正在看著的'
.format
('戰損'
,a='桶'
,b='頭罩'))
print
('正在看著的'
.format
(a='桶'
,'戰損'
,b='頭罩'
))
輸出
桶正在看著戰損的頭罩
#第二行報錯
④列表替換
例項
a=
['戰損'
,'桶'
,'頭罩'
]print
('正在看著的'
.format
(ls=a)
)
輸出結果:
桶正在看著戰損的頭罩
存疑:為什麼需要ls=a????
解釋:a是別名,需要把它和真名等同起來??
填充
1、冒號做為命令的開始,後面跟不同的指令,具體順序如下:填充符號、對齊方式(> 右對齊,< 左對齊,^ 居中對齊)、寬度、進製
print(''
.format
(233))
print(''
.format
('hey'
))
**
23300hey
2、進製輸出 b、d、o、x分別是二進位制、十進位制、八進位制、十六進製制。
print(''
.format(10
))
1010
****
3、浮點型的精度
print(''
.format
(3.1415
))
3.14
Python 知識要點 格式化輸出 format
str.format 一種格式化字串的函式,用 和 來代替以前的 print format 3.141592653 常見用法 1 不帶編號,即 print format to be to be 2 帶數字編號,可調換順序,即 print format to be to be print format...
python 字串的格式化輸出format
字串具備format方法 字串中布局 可以佔位 format 方法中傳參,可以將引數替代對應位置的 使用例子如下 print format str0 str1 結果如下 str0 str1 format方法的引數,預設是按照位置關係傳遞到字串中的括號中的 m 我的名字 我的年齡 print 我的名字...
python字串格式化輸出之format
一 基本格式 員工的月收入是 format name,salary 例如 name 小張 salary 5000.55 str1 員工的月收入是 format name,salary print str1 輸出為 員工小張的月收入是5000.555 二 所佔寬度 設定字串所佔位數,比如設定name佔...