python格式化 和format

2021-10-23 02:37:02 字數 3731 閱讀 7798

%方法:

%[(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佔...