Python中format函数用法
format优点format是python2.6新增的一个格式化字符串的方法,相对于老版的%格式方法,它有很多优点。1.不需要理会数据类型的问题,在%方法中%s只能替代字符串类型2.单个参数可以多次输出,参数顺序可以不相同3.填充方式十分灵活,对齐方式十分强大4.官方推荐用的方式,%方式将会在后面的版本被淘汰format应用一:填充(1)通过位置来填充字符串print('he1lo {0} i a
·
format优点
format是python2.6新增的一个格式化字符串的方法,相对于老版的%格式方法,它有很多优点。
1.不需要理会数据类型的问题,在%方法中%s只能替代字符串类型
2.单个参数可以多次输出,参数顺序可以不相同
3.填充方式十分灵活,对齐方式十分强大
4.官方推荐用的方式,%方式将会在后面的版本被淘汰
format应用
一:填充
(1)通过位置来填充字符串
print('he1lo {0} i am {1}'.format('Kevin','Tom'))
print('hello {} i am {}'.format('Kevin','Tom'))
print('hello {0} i am {1} . my name is {0}'.format('Kevin','Tom'))
#输出
he1lo Kevin i am Tom
hello Kevin i am Tom
hello Kevin i am Tom . my name is Kevin
foramt会把参数按位置顺序来填充到字符串中,第一个参数是0,然后1 ……
也可以不输入数字,这样也会按顺序来填充
同一个参数可以填充多次,这个是format比%先进的地方
(2)通过Key来填充
print('hello {name1} i am {name2}'.format(name1='Kevin',name2='Tom'))
# hello Kevin i am Tom
(3)通过下标来填充
names=['Kevin' , 'Tom']
print('hello {names[0]} i am {names[1]}'.format(names=names))
print('hello {0[0]}i am {0[1]}'.format(names))
#输出
hello Kevin i am Tom
hello Kevini am Tom
(4)通过字典的Key
names = {'name' : 'Kevin' , 'name2' : 'Tom'}
print ('hello{names[name]} i am {names[name2]}'.format(names=names))
#输出
helloKevin i am Tom
(5)通过对象的属性
class Names:
name1='Kevin'
name2='Tom'
print('hello {names.name1} i am {names.name2}'.format(names=Names))
#输出
hello Kevin i am Tom
(6)使用魔法参数
'''
学习中遇到问题没人解答?小编创建了一个Python学习交流QQ群:725638078
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
args=['lu']
kwargs = {'name1': 'Kevin', "name2" : 'Tom'}
print('hello {name1} {} i am {name2}'.format(*args,**kwargs))
#输出
hello Kevin lu i am Tom
二:格式转换
三:对齐与填充
四:其他
(1)转义{和}符号
print('{{ hello {0} }}'.format('Kevin'))
(2)format作为函数
f = 'hello {0} i am {1}'.format
print(f('Kevin' ,'Tom'))
#输出
hello Kevin i am Tom
(3)格式化datetime
now = datetime.now()
print('{:%Y-%m-%d %X]}'.format(now))
(4){}内嵌{}
print('hello {0:>{1}} '.format('Kevin',50))
(5)叹号的用法
!后面可以加s r a 分别对应str() repr() ascii()
作用是在填充前先用对应的函数来处理参数
print('{!s}'.format('2'))
#2
print('{!r}'.format('2'))
#‘2'
更多推荐
已为社区贡献9条内容
所有评论(0)