当前位置:家常菜>百科>科技>正文

python 格式化字符串

人气:164 ℃/2024-05-22 08:12:53

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

  • 奇瑞瑞虎5节气门怎么拆卸,瑞虎5节气门怎么匹配

    奇瑞瑞虎5节气门拆卸步骤:1 、把空气过滤器及进气管拆卸下来,就可以看见节气门了。2、 把节气门的四个固定螺丝拆下来,轻轻晃动节气门体使它脱离发动机体。在发动机体接口处有一个密...

    问答查看全文>>
  • 奥蜜芳丝眼膜好用吗 奥蜜芳丝眼膜怎么样

    眼部护肤品要比其他护肤品价格高,还好遇到了奥蜜芳丝眼膜。下面小编为大家介绍下奥蜜芳丝眼膜怎么样?奥蜜芳丝眼膜好用吗奥蜜芳丝眼膜怎么样奥蜜芳丝这款微晶眼膜还是头一次尝试有被惊艳到...

    品牌查看全文>>
  • 关于孔子读书的名言

    1、知之者不如好之者,好之者不如乐之者。2、不迁怒,不贰过。3、朽木不可雕也,粪土之墙不可圬也。4、笃信好学,死守善道。危邦不人,乱邦不居,天下有道则见,无道则隐。5、温故而知...

    名言查看全文>>
  • 闯红灯会扣分吗

    闯红灯扣6分,但并非所有情况驾驶员会被扣掉6分。若出现直行道左转等路口违法,仍然以《道路交通安全法》中违反禁令标志记3分。同时被摄像头记录下来的闯红灯行为只进行200元罚款,不...

    问答查看全文>>
  • 你买得起哪个 宝马最贵的十款车

    为您整理了你买得起哪个,它们是宝马M8、宝马M6、宝马7系、宝马i8(进口)、宝马X6 M、宝马X5 M、宝马Z8、宝马M5、宝马X7、宝马6系,帮您了解宝马最贵的十款车的详细...

    品牌查看全文>>
本网站部分内容、图文来自于网络,如有内容侵犯您的合法权益,请及时与我们联系,我们将第一时间安排核实及删除!
CopyRight © 2007-2024 家常菜 All Rights Reserved. 手机版