字符串格式化:f-strings

时间:2021-07-31 08:56:02

字符串格式化一般使用:

{}.format  和 %s

那么python 3.6以后新加的一个功能就是:

value=“zhang”
f“string{value}” # 他的主要功能就是对于我们的f或F后字符串中的{value}进行替换。
f-strings 是指以 f 或 F 开头的字符串,其中以 {} 包含的表达式会进行值替换。

下面看下 f-strings 的使用方法

1.基本使用:

>>> name = 'hoxis'

>>> age = 18

>>> f"hi, {name}, are you {age}"

'hi, hoxis, are you 18'

>>> F"hi, {name}, are you {age}"

'hi, hoxis, are you 18'
2.运算表达式
>>> f"{ 2 * 3 + 1}"

''
3.调用函数 >>> def test(input): ... return input.lower() ... >>> name = "Hoxis" >>> f"{test(name)} is handsome." 'hoxis is handsome.'
也可以直接调用内置函数:
>>> f"{name.lower()} is handsome."

'hoxis is handsome.'
4.在类中使用
>>> class Person:

... def __init__(self,name,age):

... self.name = name

... self.age = age

... def __str__(self):

... return f"{self.name} is {self.age}"

... def __repr__(self):

... return f"{self.name} is {self.age}. HAHA!"

>>> hoxis = Person("hoxis",18)

>>> f"{hoxis}"'hoxis is 18'

>>> f"{hoxis!r}"'hoxis is 18. HAHA!'

>>> print(hoxis)hoxis is 18

>>> hoxishoxis is 18. HAHA!
5.多行 f-string
>>> name = 'hoxis'

>>> age = 18

>>> status = 'Python'

>>> message = {... f'hi {name}.'

... f'you are {age}.'

... f'you are learning {status}.'

... }

>>> message{'hi hoxis.you are 18.you are learning Python.'}
这里需要注意,每行都要加上 f 前缀,否则格式化会不起作用:
>>> message = {... f'hi {name}.'

... 'you are learning {status}.'... }

>>> message{'hi hoxis.you are learning {status}.'}