Format格式化字符串
1.按序傳入參數
實際上format()里面的會包裝成為一個元組,若“”里面的{}里沒有具體的參數,則按照順序填入
print("my name is {}, my age is {}, my hobby is {}".format("alex", 18, "PingPangBall"))
結果:
my name isalex, my age is 18, my hobby is PingPangBall
2.按照{}里面的參數傳入
print("my name is {0}, my age is {1}, my hobby is{2}".format("alex", 18, "PingPangBall")) print("my name is {2}, my age is {1}, my hobby is{0}".format("alex", 18, "PingPangBall")) print("my name is {1}, my age is {0}, my hobby is{2}".format("alex", 18, "PingPangBall"))
結果:
my name is alex, my age is 18, my hobby isPingPangBall
my name is PingPangBall, my age is 18, my hobby isalex
my name is 18, my age is alex, my hobby isPingPangBall
3.按照鍵值對來將值傳入
print("my name is {name}, my age is {age}, my hobby is{hobby}".format(name = "alex", age = 18, hobby = "PingPangBall")) print("my name is {name}, my age is {age}, my hobby is{hobby}".format(age = 18, hobby = "PingPangBall", name = "alex"))
結果:
my name is alex, my age is 18, my hobby isPingPangBall
my name is alex, my age is 18, my hobby isPingPangBall
4.指定傳入的值的數據類型
print("s1 = {:d}, s2 = {:f}, s3 = {:b}, s4 = {:e}, s5 = {:o}, s6 = {:x}".format(12, 13, 14, 15, 16, 17))
結果:
s1 = 12, s2 = 13.000000, s3 = 1110, s4 = 1.500000e+01, s5 = 20, s6 = 11
5.多括號的情形
print("my name is {0}".format("alex")) print("my name is {{0}}".format("alex")) print("my name is {{{0}}}".format("alex")) print("my name is {{{{0}}}}".format("alex")) print("my name is {{{{{0}}}}}".format("alex"))
結果:
my name is alex
my name is {0}
my name is {alex}
my name is {{0}}
my name is {{alex}}
分析:由於{{}}可以轉義為{},因此導致上述結果,也能直接看出來format()里面的參數不一定會傳給前方字符串中
