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))
okok,完結

