python---format格式化输出
format格式化输出
1)format基本用法
- 不带编号---- {}
- 带数字编号,可调换顺序 {1},{2}...
- 带关键字,{name},{age}....
For Example:
name = 'Antipa'
age = 19
gender = 'man'
print(name,age,gender)
print("My name is %s,I am %d years old ,I am a %s" %(name,age,gender))
print("name:{},gender:{},age:{}".format(name,gender,age))
用数字编号可以多次使用
print("name:{0},gender:{1},age:{2},MyName{0}".format(name,gender,age))
直接向里面赋值 顺序可以随便换
print("name:{name},age:{age},gender:{gender}".format(name=name,gender=gender,age= age))
2)format的进阶用法
这些东西有点抽象,我不善言辞,自己多试试就学会了
· <(默认)左对齐,> 右对齐,^中间对齐
· 取位数“{:4s}","{:.2f}"等
name = 'Antipa'
print("name: {:10}".format(name))
print("name: {:100}".format(name))
print("name: {:>10}".format(name))
print("name: {:^10}".format(name))
print("name: {:^100}".format(name))
so,你会发现这些有什么区别?
10 是指 你打印这个名字靠近那个name:的间距,
然后 默认是靠左 <
> 靠右
^居中
ok,接下来 的话题和数字有关
print("{:.2f}".format(3.1415926))#保留2位有效数字
.2是保留2个小数
print("{:10.2f}".format(3.1415926))#保留2位有效数字默认右对齐
这里的10也是间距,so你可以改成1or100,只要你喜欢
print("{:>10.2f}".format(3.1415926))#保留2位有效数字指明右对齐
print("{:<10.2f}".format(3.1415926))#保留2位有效数字指明左对齐
print("{:^10.2f}".format(3.1415926))#保留2位有效数字中间对齐
3)format数值
okok接下来是最牛逼的
· "b" 二进制,数字以2位基数进行输出
· "c" 字符,在打印之前将整数转换成对应的unicode字符串
· "d" 十进制数,数字以10为基数进行输出
· "o" 八进制数,数字以8为基数进行输出
· "x" 十六进制数,数字以16为基数进行输出,9位以上用a-f表示
· "e" 幂符号,用科学计数法打印数字。用"e"表示幂
· "g" 一般格式,数字以fixed-point进行输出,当数值特别大的时候,用幂形式打印
· "n" 数字,当值为整数时和"d"相同,值为浮点数是和"g"相同,不同的是他会根据区域设置插入数字分隔符。
· "%" 百分数,数值乘以100打印,保留6位小数,值后面会有一个百分号
· "," 千位分隔符,货币表示或者大数据值经常用到
如:
num01,num02=200,300
print("十六进制打印:{0:x}{1:x}".format(num01,num02))
print("八进制打印:{0:o}{1:o}".format(num01,num02))
print("二进制打印:{0:b}{1:b}".format(num01,num02))
print("{0:c}".format(76))#可以把编码转换为特定的字符,参考ASCll
print("{:e}".format(123456.77544))#默认小数点后面保留6位
print("{:0.2e}".format(123456.77544))#小数点后面保留2位
print("{:g}".format(123456.77544))#保留6位
print("{:g}".format(123456789.77544))#超过6位用科学计数法表示
print("{:%}".format(34))#默认小数点后面保留6位
print("{:0.2%}".format(34))
print("{:,}".format(1234567890))
%s 占位符输出
testStr="输出 %s,输出2 %s"
输出 uu,输出2 aaa
print(testStr %("uu","aaa"))
两个或以上要加()
输出 直接输出,输出2 shuchu
testStr=testStr %("直接输出","shuchu")
print(testStr)