python三種字符串格式化


字符串格式化

% 字符串格式化

 

語法格式如下:

%[(name)][flags][width][.precision]typecode
  • (name) 可選,用於選擇指定的 key
  • flags 可選,可供選擇的值有,注意只有在和數值類型的 typecode 配合才起作用
    • +, 右對齊,正數前加正號,負數前加負號
    • -, 左對齊,正數前無符號,負數前加負號
    • 空格, 右對齊,正數前加空格,負數前加負號
    • 0, 右對齊,正數前無符號,復數前加負號;用 0 填充空白處
  • width,可選字符串輸出寬度
  • .precision 可選,小數點后保留位數,注意只有在和數值類型的 typecode 配合才起作用
  • typecode 必選
  • %,當字符串中存在格式化標志時,需要用 %% 表示一個百分號
# '%s'作為槽位和 % 號后提供的值按順序一一對應
# 百分號用%號轉義下
res = '%s計算機的內存利用率為%s%%' % ('11:15', 75)
print(res)


# % 后是字典時,可以通過name指定key對應的值
res = '%(time)s計算機的內存利用率為%(percent)s%%' % {'time':'11:15', 'percent': 75}
print(res)


# 輸出兩位數的月份,例如01,02
res = '%02d' % 8
print(res)
08


# 保留2為小數
res = '%(time)s計算機的內存利用率為%(percent).2f%%' % {'time':'11:15', 'percent': 75.123}
print(res)
11:15 計算機的內存利用率為 75.12%

 

 

format 函數格式化

基本語法是:

<模板字符串>.format(<逗號分隔的參數>)

在模板字符串中使用 {} 代替以前的 % 作為槽位

'{}計算機的內存利用率為{}%'.format('11:15', 75)

當 format 中的參數使用位置參數提供時,{} 中可以填寫參數的整數索引和參數一一對應

'{0}計算機的內存利用率為{1}%'.format('11:15', 75)

當 format 中的參數使用關鍵字參數提供時,{}中可以填寫參數名和參數一一對應

'{time}計算機的內存利用率為{percent}%'.format(time='11:15', percent=75)

{<參數序號>:<格式控制標記>} 其中格式控制標記格式如下 [fill][align][sign][#][0][width][,][.precision][type] 
  • fill 【可選】空白處填充的字符
  • align 【可選】對齊方式(需配合 width 使用)
    • <,內容左對齊
  • >,內容右對齊(默認)
  • =,內容右對齊,將符號放置在填充字符的左側,且只對數字類型有效。 即使:符號 + 填充物 + 數字
  • ^,內容居中
  • sign 【可選】有無符號數字
    • +,正號加正,負號加負;
    • -,正號不變,負號加負;
    • 空格 ,正號空格,負號加負;
  • #
    【可選】對於二進制、八進制、十六進制,如果加上#,會顯示 0b/0o/0x,否則不顯示 
  • , 【可選】為數字添加分隔符,如:1,000,000
  • width 【可選】格式化位所占寬度
  • .precision 【可選】小數位保留精度
# 輸出兩位數的月份,例如01,02
res = '{:0>2}'.format(8) 
print(res)
08

# 保留2為小數
res = '{time}計算機的內存利用率為{percent:.2%}'.format(time='11:15', percent=0.75123)
print(res)

11:15 計算機的內存利用率為 75.12%

3 f 字符串的花括號內寫上變量名,解釋器會自動將變量的值的字符串形式替換

基本語法是:

literal_char{expression[:format_spec]}

  • literal_char 普通字符
  • expression 表達式,變量或函數。。
  • format_spec 格式字符串,規則同上面的 format 字符串

直接在 f 字符串的花括號內寫上變量名,解釋器會自動將變量的值的字符串形式替換

item = '11:15'
percent = 75
f'{time}計算機的內存利用率為{percent}%'
'11:15計算機的內存利用率為75%'
# 輸出兩位數的月份,例如01,02
month = 8
res = f'{month:0>2}'
print(res)
08
# 保留2為小數
time = '11:15'
percent = 0.75123
res = f'{time}計算機的內存利用率為{percent:.2%}'
print(res)
11:15計算機的內存利用率為75.12%

包含運算和函數的 f 字符串

num = -1
print(f'{num+1=}')
num+1=0

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM