日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

python中的十大%占位符對應的格式化的使用方法_python

作者:Alexstraze ? 更新時間: 2022-04-01 編程語言

字符串格式化里的符號很多,本文詳細的介紹一下,以便隨時查找。

%s :字符串的格式化,也是最常用的
%d :格式化整數,也比較常用
%c :格式化字符及ASCII碼
%u :格式化無符號整型
%f :格式化浮點數,可以指定小數后面的精度
%e :使用科學計數法格式化浮點數
%o :格式化無符號八進制數
%x :格式化無符號十六進制數
%p :十六進制數格式化變量地址
%g :%e和%f的簡寫

演示一下各個占位符格式化使用時的效果

'''格式化字符串'''
var_s = '%s' % '我是一個字符串'
print(var_s)

'''格式化整數'''
var_d = '%d' % 10
print(var_d)

'''格式化字符'''
var_c = '%c' % "w"
print(var_c)

# 格式化字符,這里必須是一個字符不能是字符串,否則就會出現下面的錯誤。

var_c = '%c' % "water"
print(var_c)

# var_c = '%c' % "water"
# TypeError: %c requires int or char

'''格式化無符號整型'''
var_u = '%u' % 123
print(var_u)

'''格式化浮點數'''
var_f = '%.2f' % 2.3
print(var_f)

'''科學計數法格式化浮點數'''
var_e = '%e' % 2.3333333
print(var_e)

'''格式化無符號八進制數'''
var_o = '%o' % 100
print(var_o) ?# 得到的結果是144
# 可以使用int函數將得到的八進制再轉換成十進制結果是100,和我們的預想是一樣的。
print(int('144',8))

'''格式化無符號十六進制數'''
var_x = '%x' % 100
print(var_x) ?# 得到的結果是64
print(int('64',16)) ?# 同理,再轉換回來結果是100

'''十六進制格式化變量地址'''
var_p = '%p' % '144'
print(var_p)
# ValueError: unsupported format character 'p' (0x70) at index 1
# 執行%p的格式化時發現是不支持的,頭一回用竟然不支持。

'''%e與%f的縮寫'''
var_g = '%.3g' % 2.12
print(var_g)

指定占位符寬度

>>> print ("Name : %10s, Age : %9d, Height: %8.2f"%("tom", 37, 2.29))
Name : ? tom, Age : ? ? ? ?37, Height : ? ? 2.29

格式比較難看, 下面我們來做一下對齊?

指定占位符寬度 - 左對齊

>>> print ("Name : %-10s, Age : %-9d, Height : %-8.2f"%("tom", 37, 2.29))
Name : tom ?, Age : 37 ? ? ? , Height : 2.29 ? ?

備注:格式化可選標志符, 可選參數
+ ? ? ? 右對齊;正數前加正好,負數前加負號;
- ? ? ? 左對齊;正數前無符號,負數前加負號;
空格 ? ? 右對齊;正數前加空格,負數前加負號;
0 ? ? ? 右對齊;正數前無符號,負數前加負號;用0填充空白處

如: -10s, 表示10個字符串位置, 左對齊,后面用空格填充

指定占位符 - 用0當占位符

>>> print ("Name : %-10s, Age : %09d, Height : %08.2f"%("tom", 37, 2.29))
Name : tom ?, Age : 000000037, Height : 00002.29

總結

占位符的使用非常常見, 也非常實用, 它可以很好的幫助我們解決一些字符串格式化的問題, 變換出多種用法, 一些常用的占位符大家可以記住, 以便提升編程效率。

原文鏈接:https://www.cnblogs.com/alexstraze/p/9518598.html

欄目分類
最近更新