Python基礎知識6:格式化字元、顏色,python基礎知識
字元格式設定化,有兩種方式:
1、通過%預留位置方式,%s,%d,%
2、通過format,其中format比較好用,可以置中、可以用%、可以用二進位、可以填充字元自訂;
1、利用%的案例
tp1="i am %s"%"aaa"#
tp2="i am %s age %d"%("alex",18)#順序關聯
tp3="i am %(name)s age %(age)d"%{"name":"alex","age":18}#指定名稱,起名字
tp4="percent%.2f"%99.567#保留小數點幾位
tp5="i am %(pp).2f"%{"pp":12.45667,}#指定名稱,保留兩位小數
tp6="i am %(pp).2f%%"%{"pp":13.34566,}#用雙%%來引用%
print("tp1:",tp1)
print("tp2:",tp2)
print("tp3:",tp3)
print("tp4:",tp4)
print("tp5:",tp5)
print("tp6:",tp6)
執行結果:
2、利用format
tp1="i am {},age{},you are{}".format("hhh",123,"yyy")#順序填充
tp2="i am {},age{},you are{}".format(*["hhh",123,"yyy"])#動態參數填充
tp3="i am {0},age{1},you are{0} too".format("hhh",123)#預留位置索引填充,順序填充
tp4="i am {0},age{1},you are{0} too".format(*["hhh",123])#預留位置索引填充,動態參數填充
tp5="i am {name},age{age},you are{name} too".format(name="hhh",age=123)#指定名稱填充,名稱順序可變
tp6="i am {name},age{age},you are{name} too".format(**{"name":"hhh","age":123})#指定名稱,動態參數,字典需要**
tp7="i am {0[0]},age{0[1]},you are{0[2]}".format([1,2,3],[11,22,33])#通過列表傳遞
tp8="i am {:s},age{:d},money{:f}".format("hh",18,88.11)#格式化字元,S字元,d整數,f浮點型
tp9="i am {name:s},age{age:d}".format(name="hh",age=18)#指定名稱,S字元,d整數,f浮點型
tp10="i am {name:s},age{age:d}".format(**{"name":"hhh","age":123})#動態參數+指定名稱,S字元,d整數,f浮點型
tp11="numbers:{:b},{:o},{:d},{:x},{:X},{:%}".format(15,15,15,15,15,3.666)#格式化字元,b二進位,d整型
tp12="numbers:{0:b},{0:o},{0:d},{0:x},{0:X},{0:%}".format(15)#格式化+索引,b是位元組型,o是八進位,x是16進位
tp13="numbers:{num:b},{num:o},{num:d},{num:x},{num:X},{num:%}".format(num=15)#格式化+指定名稱
執行結果:
tp1: i am hhh,age123,you areyyy
tp2: i am hhh,age123,you areyyy
tp3: i am hhh,age123,you arehhh too
tp4: i am hhh,age123,you arehhh too
tp5: i am hhh,age123,you arehhh too
tp6: i am hhh,age123,you arehhh too
tp7: i am 1,age2,you are3
tp8: i am hh,age18,money88.110000
tp9: i am hh,age18
tp10: i am hhh,age123
tp11: numbers:1111,17,15,f,F,366.600000%
tp12: numbers:1111,17,15,f,F,1500.000000%
tp13: numbers:1111,17,15,f,F,1500.000000%
顏色格式:
格式: echo "\033[字背景顏色;字型顏色m輸入的內容\033[0m"
案例:echo "\033[41;36m write something here \033[0m" ,其中41的位置代表底色, 36的位置是代表字的顏色
那些ascii code 是對顏色調用的始末. \033[ ; m …… \033[0m
案例:
a1=input("\033[41;36m write something here \033[0m")#前景色彩和背景色均設定
a1=input("\033[41;1m write something here \033[0m")#只設定背景色,且加粗
a1=input("\033[36;1m write something here \033[0m")#可以單獨識別只設定字型顏色,且加粗
a1=input("\033[36;m write something here \033[0m")#可以單獨識別只設定字型顏色,不加粗
字背景色彩範圍:40----49
40:黑
41:深紅
42:綠
43:黃色
44:藍色
45:紫色
46:深綠
47:白色
字顏色:30-----------39
30:黑
31:紅
32:綠
33:黃
34:藍色
35:紫色
36:深綠
37:白色
ANSI控制碼的說明
\33[0m 關閉所有屬性
\33[1m 設定高亮度
\33[4m 底線
\33[5m 閃爍
\33[7m 反顯
\33[8m 消隱
\33[30m -- \33[37m 設定前景色彩
\33[40m -- \33[47m 設定背景色
\33[nA 游標上移n行
\33[nB 游標下移n行
\33[nC 游標右移n行
\33[nD 游標左移n行
\33[y;xH設定游標位置
\33[2J 清屏
\33[K 清除從游標到行尾的內容
\33[s 儲存游標位置
\33[u 恢複游標位置
\33[?25l 隱藏游標
\33[?25h 顯示光線標