温馨提示×

python中format函数有什么作用

小亿
395
2023-10-23 17:49:00
栏目: 编程语言

Python中的format函数用于格式化字符串。它可以将变量、表达式或指定的值插入到字符串中的占位符位置。

具体来说,format函数可以完成以下几个功能:

  1. 字符串插值:通过将变量或表达式放置在大括号{}中,在字符串中插入相应的值。
  2. 格式化数字:可以将数字格式化为特定的样式,如浮点数的小数位数、千位分隔符等。
  3. 对齐文本:可以将字符串靠左、靠右或居中对齐。
  4. 格式化日期和时间:可以将日期和时间格式化为特定的样式。
  5. 格式化对象:可以通过自定义类的__format__方法,定义对象的格式化方式。

例如,以下是一些使用format函数的示例:

# 字符串插值
name = "Alice"
age = 25
print("My name is {} and I'm {} years old.".format(name, age))

# 格式化数字
num = 12345.6789
print("The formatted number is: {:.2f}".format(num))

# 对齐文本
text = "Hello"
print("{:<10}".format(text))  # 左对齐
print("{:>10}".format(text))  # 右对齐
print("{:^10}".format(text))  # 居中对齐

# 格式化日期和时间
import datetime
now = datetime.datetime.now()
print("Today is: {:%Y-%m-%d}".format(now))

# 格式化对象
class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age
    
    def __format__(self, format_spec):
        if format_spec == "summary":
            return "{} is {} years old.".format(self.name, self.age)
        else:
            return str(self)
    
    def __str__(self):
        return self.name

person = Person("Bob", 30)
print("Person: {:summary}".format(person))

输出结果:

My name is Alice and I'm 25 years old.
The formatted number is: 12345.68
Hello     
     Hello
  Hello   
Today is: 2022-01-01
Person: Bob is 30 years old.

总之,format函数是一个非常灵活和强大的字符串格式化工具,在Python中广泛应用于字符串处理、日志记录、文本报告等场景。

0