格式化符号%
例子:
a = 321
print("%10d%10.1f" % (a, a))
print("%-10d%-10.1f" % (a, a)) #负号代表左对齐,默认右对齐
s1 = "long long long ."
s2 = "short."
print("%-30s%-20s" % (s1, s2)) # '%-30s'含义是左对齐,且占用30个字符位
print("%30s%20s" % (s1, s2))
运行结果:
format函数
特点:
- format 基本语法是通过 {} 和 : 来代替%
- format 函数接受的参数的位置可以不按顺序
format基本用法:
"Hello {0} {1}".format("a","b") #通过位置填充
# 输出 'Hello a b'
"{} is good".format("a") # 按照顺序引用
# 输出 'a is good'
"My name is {name}".format(name="a") # 引用名字为name的参数
# 输出 'My name is a'
site = {"name": "cyan", "adj": "handsome"}# 通过字典设置参数
print("{name} is {adj}".format(**site))
# 输出 'cyan is handsome'
list_ = ['cyan', 'handsome']# 通过列表索引设置参数
print("{0[0]} is {0[1]}".format(list_ )) # "0" 是必须的
# 输出 'cyan is handsome'
format格式化输出:
对齐字符串:
基本用法:
-
" ^ " 居中 后面带宽度,
-
" < " 左对齐 后面带宽度,
-
" > "右对齐 后面带宽度
-
" : " 号后面带填充的字符,只能是一个字符,不指定则默认是用空格填充。
-
大括号 {} 用来转义大括号
"{:>5}".format(1) # 设置宽度为5,右对齐
"{:>5}".format(10)
"{:^7}".format(100)
"{:^7}".format(10000)
"{} 对应的位置是 {{0}}".format("cyan")#转义大括号
#输出:
' 1'
' 10'
' 100 '
' 10000 '
'cyan 对应的位置是 {0}'
数字格式化:
基本用法:
-
"+"表示在正数前显示 +,负数前显示 " - "
-
" "(空格) 表示在正数前加空格
-
b 二进制
-
d 十进制
-
o 八进制
-
x 十六进制
-
% 百分比格式
-
e 指数格式
'{0}的二进制表示为{0:b}'.format(10) #位置填充+二进制表示.其他格式同理
'percentage: {:.2%}'.format(0.333333)#.3表示百分号后截取两位数
#输出:
'10的二进制表示为1010'
'percentage: 33.33%'
截取特定长度字符串
可以用于字符串,也可以用于数字,一般用来控制浮点数位数
"{:.5}".format('see you again') # 截取前5个字符
"{:.3f}".format(336.4641154)#加上f的话就是截取小数点后三位数,不加就是直接截取三位数
"{:.3}".format(336.4641154)
"{:-^10.3}".format(3.3333)#居中对齐,空格用-填充,然后截取三位数
"{:-^10.3f}".format(3.3333)#居中对齐,空格用-填充,然后截取小数点后三位数
#输出:
'see y'
'336.464'
'3.36e+02'
'---3.33---'
--3.333---'