Python学习_字符串格式化

#!/usr/bin/env python
# -*- coding:utf-8 -*-

# 百分号格式化
# %[(name)[flags][width].[precision]]typecode
# name : 指定占位符的key
# flags : + - 空格 0
# width : 宽度
# precision : 小数点后保留的位数
# typecode : 必需,数据类型
# 字符串里面有%的时候, %%表示一个 %字符串

s = "i am %s,age %d" % ("guolei", 18)
print(s)

s = "i am %(n1)+10s,age %(n2)+10d" % {"n1": "alex", "n2": 18}
print(s)

s = "i am %.2f sdfsd" % 1.2
print(s)

# Format格式化
# [[fill]align][sign][#][0][width][,][.precision][type]
# fill 空白处填充的字符
# align 对齐方式 < > = ^
# sign 有无符号数字 +:正号加正,负号加负,-:正号不变,负号加负,空格:正号空格,负号加负
# 对于2,8,16进制,如果加上#,会显示 0b/0o/0x,否则不显示
# , 为数字添加分隔符,1,000,000
# width 宽度
# .precision 小数保留精度
# type 格式化类型

s = "i am {:.2%}asdf".format(12)
print(s)

s = "i am {},age {},{}".format("alex", 18, "guolei")
s = "i am {},age {},{}".format(*["alex", 18, "guolei"])
s = "i am {0},age {1},{0}".format(*["alex", 18])
s = "i am {name},age {age},{name}".format(name="alex", age=18)
s = "i am {name},age {age},{name}".format(**{"name": "alex", "age": 18})
s = "i am {0[0]},age {0[1]},{0[2]}".format([1, 2, 3], [4, 5, 6])
s = "i am {:s},age {:d},{:f}".format("alex", 18, 2.222)
s = "i am {name:s},age {age:d},{num:f}".format(name="alex", age=18, num=1.22)
s = "i am {name:s},age {age:d},{num:f}".format(**{"name": "alex", "age": 18, "num": 1.22})
s = "i am {:#b},age {:o},{:x}".format(10, 10, 18)
print(s)
s = "i am {0[0]},age {0[1]}".format(["alex", 18])
print(s)

猜你喜欢

转载自www.cnblogs.com/xiaojiulin/p/10571745.html