python中格式化字符串的方法
1、占位符
print 'I am a %s, i am %d years old' %('boy',27)
说明:采用这种方式,占位符跟后面的内容要一一对应,不然就乱套了
2、采用字典样式的占位符
print 'My name is %(Name)s, i am %(Years)d' %{'Name':'jack','Years':27}
看下执行结果:
I am a boy, i am 27 years old
My name is jack, i am 27
说明:采用这种方式{key:value},只要key和value对应起来就行,只要是一对就行,至于这一对的内容出现在%{}里面的哪里都没所谓。
3、使用format函数,{}为占位符(这也是官方推介的一种方式,几乎是万能的哈)
#coding:utf-8
print 'MY name is {0},i am {1} years old'.format('jack',27)#通过内容的索引位置
print 'MY name is {},i am {} years old'.format('jack',27)#默认通过索引的位置
print 'MY name is {Name},i am {Age} years old, i am a {Job}'.format(Name='jack',Age=27,Job='IT')#通过关键参数
print 'MY name is {Name},i am {Age} years old, i am a {Job}'.format(Age=27,Name='jack',Job='IT')#通过关键参数格式化的时候,关键参数定义的位置就随便放了
输出结果:
MY name is jack,i am 27 years old
MY name is jack,i am 27 years old
MY name is jack,i am 27 years old, i am a IT
MY name is jack,i am 27 years old, i am a IT
还可以使用下标:
info = ['jack','27','male','IT']
print 'My name is {0[0]},i am {0[1]} years old, i am {0[2]},my job is {0[3]}'.format(info)#{0[0]},i am {0[1]} years old, i am {0[2]}这里方括号前面的0表示的是format函数中的第一个参数的索引位置,方括号表示format函数参数中的索引位置的内容。
输出结果:
My name is jack,i am 27 years old, i am male,my job is IT
?++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
新手一枚,如有错误请及时指出,欢迎一起探讨。
本人qq:675951805
关于format()的用法还有很多,多多益善的去了解