当前位置:   article > 正文

f-string字符串格式化方法_使用f-string格式化字符串

使用f-string格式化字符串

f-string

f-string是一种在Python3.6版本中引入的新的字符串格式化方法。它允许在字符串中插入变量值或表达式的计算结果,使用一种简单的、直观的语法。

f-string的格式为f"字符串 {表达式/变量}",其中大括号 {} 内可以是一个变量名、一个表达式,甚至是一个函数调用。

以下是一些f-string的示例:

name = "Alice"
age = 30

# 使用变量
print(f"My name is {name}.")
# 输出结果: My name is Alice.

# 使用表达式
print(f"I am {age * 12} months old.")
# 输出结果:I am 360 months old.

# 使用函数调用
def greet(name):
    return f"Hello, {name}!"
print(greet("Bob"))
# 输出结果:Hello, Bob!
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
'
运行

f-string能够提供更简洁、直观的字符串格式化方法,使代码更易读和维护。同时,f-string还支持在大括号内使用富文本格式化选项,如指定数值的精度、宽度、对齐方式等。

需要注意的是,f-string只支持Python3.6及以上的版本。在较旧的Python版本中,需要使用其他方法来格式化字符串,如使用format()方法或 % 操作符。

.format() 方法

.format() 方法是一种用于格式化字符串的方法,它允许将变量的值插入到字符串中的占位符位置上。该方法可以接受一个或多个参数,并根据给定的格式规则将它们插入到字符串中。

下面是一些使用 .format() 方法的示例:

# 基本用法
name = "Alice"
age = 25
print("My name is {} and I am {} years old.".format(name, age))
# 输出: My name is Alice and I am 25 years old.

# 指定参数顺序
print("My name is {0} and I am {1} years old.".format(name, age))
# 输出: My name is Alice and I am 25 years old.

# 使用关键字参数
print("My name is {name} and I am {age} years old.".format(name=name, age=age))
# 输出: My name is Alice and I am 25 years old.

# 指定数值格式
pi = 3.14159
print("The value of pi is {:.2f}.".format(pi))
# 输出: The value of pi is 3.14.

# 使用索引和属性
class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

person = Person("Bob", 30)
print("My name is {0.name} and I am {0.age} years old.".format(person))
# 输出: My name is Bob and I am 30 years old.
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
'
运行

在上述示例中,.format() 方法使用花括号 {} 来表示占位符,其中可以包含参数索引、关键字或属性。可以在占位符中使用冒号 : 指定格式规则,例如精度、宽度等。

需要注意的是,在 Python 3.6 及更高版本中,还可以使用 f-strings 来实现相同的字符串格式化功能,它使用更简洁的语法,如下所示:

print(f"My name is {name} and I am {age} years old.")
# 输出: My name is Alice and I am 25 years old.
  • 1
  • 2

.format() 方法仍然是一个有用的方法,特别是在不支持 f-strings 的旧版本的 Python 中。

格式说明符

格式说明符是一种用于控制字符串输出格式的占位符。它们以一对花括号 {} 表示,可以在字符串中嵌入变量、常量或表达式,并指定它们的格式。在 Python 中,常用的格式说明符有:

  • %d:将整数表示为十进制数。
  • %f:将浮点数表示为小数形式。
  • %s:将字符串表示为字符串形式。
  • %r:将对象表示为 repr() 形式。
  • %.nf:在浮点数的格式说明符中,n 表示小数点后保留的位数。
  • %x:将整数表示为十六进制数。
    在这里插入图片描述

以下是一些示例:

age = 25
name = "Alice"
pi = 3.14159

print("My age is %d" % age)  # 输出 My age is 25
print("My name is %s" % name)  # 输出 My name is Alice
print("The value of pi is approximately %.2f" % pi)  # 输出 The value of pi is approximately 3.14

print("My name is {!r}".format(name))  # 输出 My name is 'Alice'
print("The value of pi is approximately {:.2f}".format(pi))  # 输出 The value of pi is approximately 3.14

print(f"My age is {age}")  # 使用 f-string 输出 My age is 25
print(f"My name is {name!r}")  # 使用 f-string 输出 My name is 'Alice'
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
'
运行

在上述示例中,我们使用了不同的格式说明符来格式化输出。使用 % 运算符进行格式化是一种旧的方法,而使用 .format() 方法或 f-string 是 Python3 中更推荐的方法。

需要注意的是,格式说明符只是一种用于格式化输出的工具,不会修改变量本身的值。

repr() 形式

repr() 是一个内置函数,它可以将对象转换为一个供解释器读取的形式。它返回的字符串通常可以通过 eval() 函数重新生成该对象。

每个对象都可以有不同的 repr() 形式,取决于对象的类型和实现。通常,repr() 的返回值应该是一个以字符串形式表示的对象,其中包含有关对象的信息,以便于调试和查看。

以下是一些常见的示例,展示了不同类型对象的 repr() 形式:

# 字符串
s = "Hello, world!"
print(repr(s))  # 输出 'Hello, world!'

# 整数
n = 42
print(repr(n))  # 输出 42

# 列表
lst = [1, 2, 3]
print(repr(lst))  # 输出 [1, 2, 3]

# 字典
d = {'a': 1, 'b': 2}
print(repr(d))  # 输出 {'a': 1, 'b': 2}

# 自定义类
class Point:
    def __init__(self, x, y):
        self.x = x
        self.y = y
    
    def __repr__(self):
        return f"Point({self.x}, {self.y})"

p = Point(2, 3)
print(repr(p))  # 输出 Point(2, 3)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
'
运行

在上述示例中,每个对象的 repr() 方法返回了一个代表该对象的字符串表示形式。需要注意的是,自定义类可以通过实现 __repr__() 方法来定义自己的 repr() 形式。这使得我们可以根据需要自定义对象在调试输出中的显示方式。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/喵喵爱编程/article/detail/1018804
推荐阅读
相关标签
  

闽ICP备14008679号