python课堂整理7---字符串格式化
Posted dabai123
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python课堂整理7---字符串格式化相关的知识,希望对你有一定的参考价值。
一、字符串格式化(% 和 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)
以上是关于python课堂整理7---字符串格式化的主要内容,如果未能解决你的问题,请参考以下文章