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)

posted @ 2020-05-18 20:11  木子墨墨  阅读(390)  评论(0编辑  收藏  举报