Python 中的格式化字符串文字 (f 字符串)?

pythonserver side programmingprogramming更新于 2024/1/12 8:14:00

Python 现在提供了格式化字符串的新方法,称为 f 字符串。此功能从 PEP-498 下的 Python 3.6 开始提供。它们之所以被称为 (f 字符串),是因为字符串带有字母 ‘f’ 前缀。字母 ‘f’ 还表示这些 f 字符串可用于格式化。

以下是一些示例,演示了如何使用 f 字符串。

程序 #1

name = 'Rajesh'
age = 13 * 3
fString = f'我的名字是 {name},我的年龄是 {age}'
print(fString)
#我们可以使用大写 'F'而不是小写的"f"。
print(F'我的名字是{name},我的年龄是{age}')
#由于 fString 估值已完成,因此为变量赋予另一个值不会改变 fstring 值。
name = 'Zack'
age = 44
print(fString)

输出

我的名字是 Rajesh,我的年龄是 39
我的名字是 Rajesh,我的年龄是 39
我的名字是 Rajesh,我的年龄是 39

示例#2 – 带有表达式和转换的 f 字符串

from datetime import datetime

name = 'Rajesh'
age = 13 * 3
dt = datetime.now()
print(f' 十年后的年龄为 {age + 10}')
print(f'带引号的姓名 = {name!r}')
print(f'默认格式的日期 = {dt}')
print(f'修改日期格式 = {dt: %d/%m/%Y}')

输出

十年后的年龄为 49 岁
带引号的姓名 = 'Rajesh'
默认格式日期 = 2019-02-11 14:52:05.307841
修改日期格式 = 11/02/2019

示例#3:对象和属性

class Vehicle:
   Model = 0
   Brand = ''
def __init__(self, Model, Brand):
   self.Model = Model
   self.Brand = Brand
def __str__(self):
   return f'E[Model={self.Model}, Brand = {self.Brand}]'
Car = Vehicle (2018, 'Maruti')
print(Car)
print(f'Vehicle: {Car}\nModel 是 {Car.Model} 并且 Brand 是 {Car.Brand}')

输出

E[Model=2018, Brand = Maruti]
Vehicle: E[Model=2018, Brand = Maruti]
Model 是 2018 并且 Brand 是 Maruti

示例#4:调用函数

我们也可以在 f 字符串格式中调用函数。

def Multiply(x,y):
   return x*y
print( f'Multiply(40,20) = {Multiply(40,20)}')

输出

Multiply(40,20) = 800

示例# 5:Lambda 表达式

x = -40.9
print(f' Lambda absolute of (-40.9) is : {(lambda x: abs(x)) (x)}')
print(f' Lambda Square of 2^4 is: {(lambda x: pow(x, 2)) (4)}')

输出

Lambda absolute of (-40.9) is : 40.9
Lambda Square of 24 is: 16

相关文章