如何输出格式化的字符串。我们经常会输出类似'亲爱的xxx你好!你xx月的话费是xx,余额是xx'之类的字符串,而xxx的内容都是根据变量变化的,所以,需要一种简便的格式化字符串的方式。
示例:
>>> print(\"Hi %s,your score is %d.\" %('jack',69)) Hi jack,your score is 69.
>>>print(\"亲爱的%s你好!你的%d月的话费是%d,余额是%d\"%('jack',7,169,45.5)) 亲爱的jack你好!你的7月的话费是169,余额是45
s = \"my name is %s,age is %d\" %('chentujin',29) print(s)
s1 = \"my name is %(name)s,age is %(age)d\" %{'name':'chentujin','age':999} print(s1)
s2 = \"percent %.2f\" % 99.12311 print(s2)
s3 = \"i am %(pp).2f\" %{'pp':99.1817733, } print(s3)
#s4 = \"i am %.3f %%\" %{\"aa\": 88.777443, } #print(s4)
%运算符就是用来格式化字符串的。在字符串内部,%s表示用字符串替换,%d表示用整数替换,有几个%?占位符,后面就跟几个变量或者值,顺序要对应好。如果只有一个%?,括号可以省略。 常见的占位符有:
%d 整数
%f 浮点数
%s
2、format格式化
字符串
示例2:
s5 = \"my name is {0},today is {1},cname is {0}\".format('chentujin',29) print(s5)
s6 = \"***********{name:s}-------------{age:d}\".format(name='jack',age=29) print(s6)
s7 = \"----------{:9^20s}-----------\".format('陈土金') #^代表居中对齐,20代表占位符,占20个字符位置,9不够20字符用9填充
print(s7)
s8 = \"my name is {name:s},age is{age:d}\" .format(name='chentujin',age=29) print(s8)
s9 = \"my name is %s,age is %d\" %('jack',29) print(s9)
s10 = \"chentujin is {name:s},age is{age:d}\" .format(name='mike',age=20) print(s10)
s11 = \"my name is {0},cname is{1}\" .format('jack',29) print(s11)
tpl = \"i am {}, age {}, {}\".format(\"jack\print(tpl)
tpl = \"i am {} ,age {} ,{}\".format(*[\"mike\print(tpl)
tpl = \"i am {name} ,age
{age} ,{from}\".format(**{\"name\":\"mike\print(tpl) 输出结果:
i am jack, age 29, shanghai i am mike ,age 29 ,shanghai i am mike ,age 29 ,shanghai
因篇幅问题不能全部显示,请点此查看更多更全内容