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'
结尾给大家推荐一个非常好的学习教程,希望对你学习Python有帮助!
Python基础入门教程推荐:更多Python视频教程-关注B站:Python学习者
Python爬虫案例教程推荐:更多Python视频教程-关注B站:Python学习者
今天的文章pythonformat函数用法把整数变为月份_vb中instr函数举例「建议收藏」分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/58806.html