Fork me on GitHub

字符串格式化:f-strings

字符串格式化一般使用:

{}.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}.'}
 

 

posted @ 2018-08-22 15:57  道阻切长  阅读(373)  评论(0编辑  收藏  举报