python中的字串格式化方式有兩種:百分號佔位符(%)方式和format方式。百分號的方式相對來說比較老,而format方式則是比較先進的方式,企圖替換古老的方式,目前兩者並存。佔位符方式在python2.x中用的比較廣泛,隨著python3.x的使用越來越廣,format方式使用的更加廣泛。
%[(name)][flags][width].[precision]typecodewidth 可選,占有寬度
.precision 可選,小數點後保留的位數
typecode 必選
注:python中百分號格式化是不存在自動將整數轉換成二進位制表示的方式
常用格式化:
tpl = "i am %s" % "alex"
tpl = "i am %s age %d" % ("alex", 18)
tpl = "i am %(name)s age %(age)d" %
tpl = "percent %.2f" % 99.97623
tpl = "i am %(pp).2f" %
tpl = "i am %.2f %%" %
[[fill]align][sign][#][0][width][,][.precision][type]sign 【可選】有無符號數字
# 【可選】對於二進位制、八進位制、十六進製制,如果加上#,會顯示 0b/0o/0x,否則不顯示
, 【可選】為數字新增分隔符,如:1,000,000
width 【可選】格式化位所佔寬度
.precision 【可選】小數字保留精度
type 【可選】格式化型別
傳入「 整數型別 」的引數
傳入「 浮點型或小數型別 」的引數
位置對映
例項(python3.0+):
print("{}:{}".format('192.168.0.100',8888))
#192.168.0.100:8888
關鍵字對映
例項(python3.0+):
print(":".format(8888,'192.168.1.100',server='web server info :'))
#web server info :192.168.1.100:8888
元素訪問
例項(python3.0+):
填充對齊
^、分別是居中、左對齊、右對齊
例項1(python3.0+):
print("*=".format(3,2,2*3))
#3*2=06
print("".format('centered'))
#***********centered***********
例項2(python3.0+):九九乘法表
for i in range(1,10):
a = 1
while a <= i:
print("*=".format(a,i,a*i),end="\t")
a +=1
print()
"""1*1=01
1*2=02 2*2=04
1*3=03 2*3=06 3*3=09
1*4=04 2*4=08 3*4=12 4*4=16
1*5=05 2*5=10 3*5=15 4*5=20 5*5=25
1*6=06 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7=07 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8=08 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9=09 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
"""
精度設定
例項(python3.0+):
print("".format(2.1415))
#2.142
print("".format(3.1415))
#3.1415000000
常用格式化:
tpl = "i am {}, age {}, {}".format("seven", 18, 'alex')
tpl = "i am {}, age {}, {}".format(*["seven", 18, 'alex'])
tpl = "i am , age , really ".format("seven", 18)
tpl = "i am , age , really ".format(*["seven", 18])
tpl = "i am , age , really ".format(name="seven", age=18)
tpl = "i am , age , really ".format(**)
tpl = "i am , age , really ".format([1, 2, 3], [11, 22, 33])
tpl = "i am , age , money ".format("seven", 18, 88888.1)
tpl = "i am , age ".format(*["seven", 18])
tpl = "i am , age ".format(name="seven", age=18)
tpl = "i am , age ".format(**)
tpl = "numbers: ,,,,, ".format(15, 15, 15, 15, 15, 15.87623, 2)
tpl = "numbers: ,,,,, ".format(15, 15, 15, 15, 15, 15.87623, 2)
tpl = "numbers: ,,,,, ".format(15)
tpl = "numbers: ,,,,, ".format(num=15)
更多格式化操作: Python3 字串格式化
字串的格式化方法分為兩種,分別為佔位符 和format方式。佔位符方式在python2.x中用的比較廣泛,隨著python3.x的使用越來越廣,format方式使用的更加廣泛。d例項 python3.0 age 29 print my age is d age my age is 29 s例項 py...
Python3 字串格式化
按照統一的規格去輸出成為乙個新的字串 fomat 有兩個引數位置引數和關鍵字引數用中括號括起來 為位置引數 love format i you i love you 為關鍵字引數 love format a i b you i love you format 不列印 列印 用中括號括起來後forma...
Python3 字串格式化
字串的格式化方法分為兩種,分別為佔位符 和format方式。佔位符方式在python2.x中用的比較廣泛,隨著python3.x的使用越來越廣,format方式使用的更加廣泛。d例項 python3.0 12 3age 29 print my age is d age my age is 29 s例...