字符串格式化一般使用:
{}.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}" '7' 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}.'}