Python3 字串格式化

2021-09-25 20:37:43 字數 3759 閱讀 9671

python中的字串格式化方式有兩種:百分號佔位符(%)方式和format方式。百分號的方式相對來說比較老,而format方式則是比較先進的方式,企圖替換古老的方式,目前兩者並存。佔位符方式在python2.x中用的比較廣泛,隨著python3.x的使用越來越廣,format方式使用的更加廣泛。

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

width         可選,占有寬度

.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例...