python中格式化字符串有三种方法 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)
【python中格式化字符串有三种方法 python格式化字符串】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
以上是小编今天的分享 。我希望它能帮助你 。