Python格式化輸出詳情

1.%格式化

語法:

%[(name)][flags][width].[precision]typecode

參數:

(name) 可選,用於選擇指定的key
flags 可選,對齊方式,可選值為:
+表示右對齊
-表示左對齊。
‘ ‘為一個空格,表示在正數的左側填充一個空格,負數前面加負號。
0 右對齊,正數前面無符號,負數前面加負號,用0填充空白
width 可選 表示顯示寬度
.precision 可選 表示小數點後位數
typecode 必選 ,可以選擇的參數為:
s 表示字符串
d 表示整數
f 表示浮點數

1.1簡單格式化,不使用可選參數

print('%s的資產總額為%f元'%('A公司',156261595.89))
print('%s的資產總額為%d元'%('A公司',156261595.89))

執行結果:

A公司的資產總額為156261595.890000元
A公司的資產總額為156261595元

1.2 復雜格式化,使用可選參數

1.2.1參數 (name),用於選擇指定的key

d = {'name':'A公司', 'assets':156261595.89}
print("公司名稱%(name)s,資產總額為%(assets)f元。" %d)

執行結果:

公司名稱A公司,資產總額為156261595.890000元。

1.2.2參數flags和width,對齊方式和寬度

d = {'name':'A公司', 'assets':156261595.89}
print("公司名稱%(name)+6s,資產總額為%(assets)-20f元。" %d)

執行結果:

公司名稱   A公司,資產總額為156261595.890000    元。

1.2.3參數.precision 控制小數點後位數

d = {'name':'A公司', 'assets':156261595.89345}
print("公司名稱%(name)+4s,資產總額為%(assets).2f元。" %d)

執行結果:

公司名稱 A公司,資產總額為156261595.89元。

2.format格式化

格式化字符串的函數 str.format(),基本語法是通過 {} : 來實現格式化,代替%格式化方法,format函數可以接受不限個參數,位置可以不按順序。

主要參數釋義:
[填充] : 號後面帶填充的字符,隻能是一個字符,不指定則默認是用空格填充
[對齊方式與寬度] ^, <, > 分別是居中、左對齊、右對齊,後面帶寬度
[正負數顯示] + 表示在正數前顯示 +,負數前顯示 -; (空格)表示在正數前加空格
[數據類型] s 表示字符串 d 表示整數 f 表示浮點數

2.1自定義占位符

# 自定義占位符
s = '{0}的資產總額為{1}元'
print(s.format('A公司','156261595.89'))

執行結果:

A公司的資產總額為156261595.89元

2.2自定義關鍵字

# 自定義關鍵字
s = '{name}的資產總額為{資產}元'
print(s.format(name='A公司',資產='156261595.89'))

執行結果:

A公司的資產總額為156261595.89元

2.3填充與對齊(同時使用)

# 填充與對齊(同時使用)
# :號後面帶填充的字符,隻能是一個字符,不指定則默認是用空格填充
# ^, <, > 分別是居中、左對齊、右對齊,後面帶寬度,
s = '{name}的資產總額為{資產:*>20}元'
print(s.format(name='A公司',資產=156261595.89))

執行結果:

A公司的資產總額為********156261595.89元

2.4數字格式化

# 浮點型,保留兩位小數
s = '{name}的資產總額為{資產:.2f}元'
print(s.format(name='A公司',資產=156261595.8988))

執行結果:

A公司的資產總額為156261595.90元

# 浮點型,保留兩位小數,並使用千分位分隔符
s = '{name}的資產總額為{資產:,.2f}元'
print(s.format(name='A公司',資產=156261595))

執行結果:

A公司的資產總額為156,261,595.00元

# 浮點型,保留兩位小數,並使用千分位分隔符,表示在正數前顯示+,負數前顯示-
s = '{name}的資產總額為{資產:+,.2f}元'
print(s.format(name='A公司',資產=156261595))

執行結果:

A公司的資產總額為+156,261,595.00元

# 百分比,保留兩位小數
s = '{name}的資產負債率為{資產負債率:.2%}'
print(s.format(name='A公司',資產負債率=0.8544))

執行結果:

A公司的資產負債率為85.44%

3.f-String格式化

Python格式化字符串f-string,采用f'{content:format}' 設置字符串格式,其中 content 是替換並填入字符串的內容,可以是變量、表達式或函數等。采用默認格式時不必指定 {:format},隻寫 {content} 即可。

3.1簡單使用

# 簡單使用
name = 'A公司'
assets = 156261595
msg = f'{name}的資產總額為{assets}元。'
print(msg)

執行結果:

A公司的資產總額為156261595元。

3.2復雜控制

# {content:format} 格式化使用
name = 'A公司'
assets = 156261595
msg = f'{name}的資產總額為{assets:,.2f}元。'
print(msg)

執行結果:

A公司的資產總額為156,261,595.00元。

註釋:填充與對齊以及對數值的處理,與format函數格式化類似,參照format部分的講解。

到此這篇關於Python格式化輸出詳情的文章就介紹到這瞭,更多相關Python格式化輸出 內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: