python 格式化字符串
python怎么格式化字符串呢?不知道的小伙伴来看看小编今天的分享吧!
python中格式化字符串有三种方法:%、format()、添加的f字符串调试。
1、%格式化字符串
%格式化字符串是python最早的,也是能兼容所有版本的一种字符串格式化方法,在一些python早期的库中,建议使用%格式化方式,他会把字符串中的格式化符按顺序后面参数替换,格式是
"xxxxxx %s xxxxxx" % (value1, value2)
其中 %s就是格式化符,意思是把后面的值格式化为字符类型,类似的格式化符还有%d,%f等,具体参考文章Python字符串格式化
后面的value1,value2就是要格式化的值,不论是字符还是数值,都会被格式化为格式化符对应的类型
当然可以不用以元组的形式传值,你可以直接写这样:"xxxxx %s" % value,不过不建议这样写,一是应为这样只能传递一个参数,二是如果value是元组或列表等类型,这样会触发TypeErrer
如果只传一个参数,并且很确定参数类型不会触发异常,可以使用上面的写法,否则,要提供一个单元素元组,就像"xxxx %s " % (value,)
2、format()
%虽然强大,但用起来难免有些麻烦,代码也不是特别美观,因此,在python 2.5 之后,提供了更加优雅的str.format()方法。
def format(self, *args, **kwargs): # known special case of str.format
"""
S.format(*args, **kwargs) -> str
Return a formatted version of S, using substitutions from args and kwargs.
The substitutions are identified by braces ('{' and '}').
"""
pass
format()的常用用法:
# 使用名称占位符
s2 = "xxxx {age} xxxx {name}".format(age=18, name="hangman")
print(s2) # xxxx 18 xxxx hangman
# 使用序号占位符,为空默认从左到右01234.。
s3 = "xxxx {1} xxx{0}".format(value1,value2)
print(s3) # xxxx [9, 0] xxx(7, 8)
# 也可以混合使用
s4 = "xxxx {} XXX {name} xxx {}".format(value2,value1,name="s4")
print(s4) # xxxx [9, 0] XXX s4 xxx (7, 8)
3、 f-string
f-string是2015年python 3.6 根据PEP 498新添加的一种字符串格式化方法,f-string实际上是在运行时计算的表达式,而不是常量值。在Python源代码中,f-string是一个文字字符串,前缀为’f’,其中包含大括号内的表达式。表达式会将大括号中的内容替换为其值。例如:
import datetime
name = "zings"
age = 17
date = datetime.date(2019,7,18)
print(f'my name is {name}, this year is {date:%Y},Next year, I\'m {age+1}') # my name is zings, this year is 2019,Next year, I'm 18
-
真心追求女朋友的句子
1、我不想做你生命的插曲,只想做你生命最完美的结局。2、心简单,世界就简单,幸福才会生长。3、我无法保证给你一段完美的感情,没有争吵,没有分歧,但我能保证只要你坚持,我定会不离...
句子查看全文>> -
智行汽车的前后悬架是什么
这款车的前悬架使用了麦弗逊式独立悬架,后悬架使用了多连杆独立悬架。智行是绅宝旗下的一款紧凑型suv,这款车全系搭载了1.5升涡轮增压发动机。这款发动机最大功率为110kw,最大...
问答查看全文>>
推荐
- 1碳纤维跑车撞击更安全?420
- 2新疆旅游最佳时间357
- 3感恩父母的精辟句子354
- 4鼠年男宝宝姓杨的名字207
- 5Dimmi胶囊电动牙刷好用吗 Dimmi胶囊电动牙刷怎么样273
- 6汽车清除积碳要做吗?293
- 7整车质保三年或10万公里是什么意思166
- 8换轮胎轮毂划伤避免不了吗488