Python基础之文本常量与字符串模板

大神们有没有人讲详细点的我想讲解下,Python基础之文本常量与字符串模板
最新回答
风与纸片人

2026-06-26 08:19:30

Python提供了多种高效处理字符串的方式,其中文本常量与字符串模板是常用的功能。以下是详细介绍:

  • 首字母大写:使用string.capwords()函数可以轻松实现字符串中每个单词首字母大写。例如:
import strings = "hello world"result = string.capwords(s)print(result) # 输出: Hello World
  • 字符串模板:string.Template允许通过占位符替换字符串中的变量。基本用法如下:
import stringvalues = {"name": "Alice", "age": "25"}s = "My name is $name, I am $age years old."template = string.Template(s)print(template.substitute(values)) # 输出: My name is Alice, I am 25 years old.

若变量可能不存在,可使用safe_substitute()避免异常:

print(template.safe_substitute(values)) # 未提供的变量保持原样
  • 自定义模板:通过继承string.Template,可以修改分隔符和标识符模式:
class MyTemplate(string.Template): delimiter = '@' idpattern = '[a-z]+_[0-9]+'values = {"name_1": "Bob", "age_1": "30"}s = "Name: @name_1, Age: @age_1"template = MyTemplate(s)print(template.safe_substitute(values)) # 输出: Name: Bob, Age: 30
  • format方法:提供灵活的字符串格式化,支持位置、关键字及高级格式化:
# 基本用法print("Hello, {}!".format("World")) # 位置匹配print("Name: {name}, Age: {age}".format(name="Charlie", age=28)) # 关键字匹配# 高级格式化print("{:.2f}".format(3.14159)) # 保留两位小数: 3.14print("{:b}".format(10)) # 二进制: 1010print("{:x}".format(255)) # 十六进制: ff
  • 对齐与填充:format支持控制输出对齐和宽度:
print("{:<10}".format("Left")) # 左对齐,宽度10print("{:>10}".format("Right")) # 右对齐print("{:^10}".format("Center")) # 居中对齐

这些功能使得Python在字符串处理上既高效又灵活,适用于日志记录、用户界面展示及数据格式化等多种场景。