一、字元串格式化(% 和 format)
1. % s 主要接收字元串類型,也可以接收任意類型
tp1 = "i am %s my hobby is alex" % 'lhf'
print(tp1)
tp1 = "i am %s my hobby is %s" % ('lhf', 'dabai')
print(tp1)
、
tp1 = "i am %s my age is %d" % ('lhf', 11)
tp2 = "1 am %s my age is %s" % ('dabai', 12)
print(tp1, tp2, sep="\n")
注意:%d 隻接收數字,%s接收任意類型,但是最好物盡其用,便于維護!
2. 列印浮點數,預設保留6位小數,自動四舍五入。
tp1 = "percent %f"% 99.99675854
tp2 = "percent %.3f"% 99.99975854
print(tp1)
print(tp2)
3. 列印百分比
tp1 = "percent %.3f%%"% 99.99635854
print(tp1)
4. 傳入值為字典
tp1 = "i am %(name)s age %(age)d" %{"name": "alex", "age": 18}
print(tp1)
tp1 = "i am %(pp).2f" % {"pp": 99.99}
print(tp1)
5. 可選項:+ 右對齊 -左對齊 後面的數字表示寬度, 下面的42控制的顔色
msg = "i am %(name) + 30s my hobby is dabai" % {'name': 'liu'}
msg2 = "i am \033[42;1m%(name) + 30s\033[0m my hobby is dabai" % {'name': 'liu'}
print(msg)
print(msg2)
二、format用法:
1. 按順序對應
tp1 = "i am {} age {} {}".format("alex", 18, "alex")
print(tp1)
2. 根據後面索引對應
tp1 = "i am {2} age {1} {0}".format("alex", 18, "dabai")
print(tp1)
3. 傳入值為字典時,注意前面加兩個**
tp1 = "i am {name} age {age} really {name}".format(name = "alex", age = 18)
tp2 = "i am {name} age {age} really {name}".format(**{"name": "alex", "age": 18})
print(tp1)
print(tp2)
4.索引清單對應
tp2 = "i am {0[0]} age {0[1]} really {0[2]}".format(["dabai","22","aaa"],[1,2,3])
print(tp2)
5. 根據類型按順序輸入對應值
tp2 = "i am {:s} age {:d} really {:.2f}".format("dabai", 18, 99.9)
print(tp2)
6. 這種類型下,如果傳入值為清單,前面要加 * 号
tp2 = "i am {:s} age {:d} really {:.2f}".format(*["dabai", 18, 99.9])
print(tp2)
7. 不同進制示範(x:小寫16進制, X:大寫16進制, o: 8 進制,b : 2進制)
tp1 = "number: {:b} {:o} {:d},{:x}, {:X}, {:.2%}".format(15, 15, 15, 15,15,15.2341234)
print(tp1)
tp1 = "number: {0:b} {0:o} {0:d},{0:x}, {0:X}, {0:.2%}".format(15)
print(tp1)
tp1 = "number: {num:b} {num:o} {num:d},{num:x}, {num:X}, {num:.2%}".format(num = 15)
print(tp1)