Python 详细的占位符笔记
时间:2025-06-24 11:31:01 来源:新华社
【字体:  

目录。

  • 1. `%` 格式化(旧格式化)
    • 1.1 基本用法。
    • 1.2 数字格式化
    • 1.3 填充和对齐。
  • 2. `str.format()` 方法(更新格式化)
    • 2.1 基本用法。
    • 2.2 位置和关键字参数
    • 2.3 格式化数字
    • 2.4 对齐和填充
    • 2.5 字符串的长度和精度
  • 3. f-strings (格式化字符串字面量)
    • 3.1 基本用法。
    • 3.2 格式化数字
    • 3.3.3 表达式和计算
    • 3.4 对齐和填充
    • 3.5
  • 4. 字符串模板(`string.Template` 类)
    • 4.1 基本用法。
    • 4.2 替换占位符。
    • 4.3 包含在字符串中 `$` 符号。
    • 4.4 默认值和可选参数
  • 5. 选择合适的格式化方式
    • 5.1 `%` 格式化。
    • 5.2 `str.format()`
    • 5.3 f-strings。
    • 5.4 `string.Template`
  • 总结。

1.。 %。格式化(旧格式化)

1.1 基本用法。

name。 ="Alice"age。 =30。formatted_string。 ="Name: %s, Age: %d"%。(。name。,age。)。print。(。formatted_string。)。# 输出: Name: Alice, Age: 30。

1.2 数字格式化。

pi。 =3.141592653589793。formatted_string。 ="Pi: %f"%。pi。print。(。formatted_string。)。# 输出: Pi: 3.141593。formatted_string。 ="Pi: %.2f"%。pi。print。(。formatted_string。)。# 输出: Pi: 3.14。
  • %f。表示浮点数�默认情况下显示六位小数。
  • %.2f.保留两位小数。

1.3 填充和对齐。

formatted_string。 ="|s|"%。"test"# 右对齐,宽度为 10。print。(。formatted_string。)。# 输出: |      test|。formatted_string。 ="|%-10s|#344;%。"test"# 左对齐,宽度为 10。print。(。formatted_string。)。# 输出: |test      |。
  • s。表示字段宽度为 10,右对齐。
  • %-10s。表示字段宽度为 10,左对齐。

2.。 str.format()。方法(更新格式化)

2.1 基本用法。

name。 ="Bob"age。 =25。formatted_string。 ="Name: { }, Age: { }".。format。(。name。,age。)。print。(。formatted_string。)。# 输出: Name: Bob, Age: 25。

2.2 位置和关键字参数。

formatted_string。 ="Name: { 0}, Age: { 1}".。format。(。name。,age。)。print。(。formatted_string。)。# 输出: Name: Bob, Age: 25。formatted_string。 ="Name: { name}, Age: { age}".。format。(。name。="Carol",age。=28。)。print。(。formatted_string。)。# 输出: Name: Carol, Age: 28。
  • { 0}。和。 { 1}。索引指定位置参数。
  • { name}。和。 { age}。使用关键字参数。

2.3 格式化数字。

pi。 =3.141592653589793。formatted_string。 ="Pi: { :.2f}".。format。(。pi。)。print。(。formatted_string。)。# 输出: Pi: 3.14。

2.4 对齐和填充。

formatted_string。 ="|{ :10}|".。format。(。"test")。# 右对齐,宽度为 10。print。(。formatted_string。)。# 输出: |      test|。formatted_string。 ="|{ :<10}|".。format。(。"test")。# 左对齐,宽度为 10。print。(。formatted_string。)。# 输出: |test      |。
  • { :10}。表示字段宽度为 10,右对齐。
  • { :10}。默认右对齐�{ :<10}。左对齐。

2.5 字符串的长度和精度。

text。 ="Hello"formatted_string。 ="{ :.3}".。format。(。text。)。# 截取前三个字符。print。(。formatted_string。)。# 输出: Hel。
  • { :.3}。表示截取前三个字符。

3. f-strings (字符串字面量的格式化)。

3.1 基本用法。

name。 ="Dave"age。 =40。formatted_string。 =f"Name:。 { 。10。}。}。"print。(。formatted_string。)。# 输出: Value is        123。
  • value:{ 10}。表示字段宽度为 10。

4. 字符串模板(string.Template。类)

4.1 基本用法。

from。string。 import。Templatetemplate。 =Template。(。"Name: $name, Age: $age")。formatted_string。 =template。.。substitute。(。name。="Eva",age。=22。)。print。(。formatted_string。)。# 输出: Name: Eva, Age: 22。

4.2 替换占位符。

template。 =Template。(。"Hello, $name! Welcome to $place.")。formatted_string。 =template。.。substitute。(。name。="John",place。="Python Land")。print。(。formatted_string。)。# 输出: Hello, John! Welcome to Python Land.。

4.3 包含在字符串中。 $。符号。

template。 =Template。(。"The price is $$100")。formatted_string。 =template。.。substitute。(。)。print。(。formatted_string。)。# 输出: The price is $100。
  • $$。用于插入实际。 $。符号。

4.4 默认值和可选参数。

template。 =Template。(。"Name: $name, Age: ${ age}")。formatted_string。 =template。.。safe_substitute。(。name。="Julia")。print。(。formatted_string。)。# 输出: Name: Julia, Age: ${ age}。
  • safe_substitute。用于在缺失值时不抛出异常,用原始占位符代替。

5. 选择合适的格式化方式。

5.1。 %。格式化。

  • 优点:简洁,老代码兼容。
  • 缺点:功能有限󿀌阅读能力差。

5.2。 str.format()。

  • 优点:功能强大󿀌易于阅读。
  • 缺点:语法长󿀌特别是在复杂的格式化中。

5.3 f-strings。

  • 优点:简洁的语法和xff000c;性能优越�支持嵌套表达式。
  • 缺点:仅支持 Python 3.6 及以上。

5.4。 string.Template。

  • 优点:高安全性󿀌适合用户输入。
  • 缺点:功能有限󿀌不支持复杂格式化。

总结。

  在 Python 中,可根据具体需要选择不同的格式化方法。%。格式化适用于简单场景,str.format()。它提供了更多的灵活性和功能,而 f-strings 是现代 Python 推荐的格式化方式,由于其简洁,性能优越。string.Template。适用于需要处理用户输入的情况。

[责任编辑:百度一下]
检察日报数字报 | 正义网 |
Copyrights©最高人民检察院 All Rights Reserved.