小甲鱼Python学习笔记

字符串格式化的核心目的

  • 统一输出规格,避免因进制、格式差异造成误解
  • 支持动态填充内容,实现灵活的字符串拼接

format() 方法格式化

  • 核心规则
    • 接受位置参数、关键字参数,传递到字符串的 {} 替换域
    • 位置参数与关键字参数结合时,位置参数必须在前
  • 位置参数用法
    • 语法:"{0}{1}{2}".format(p1, p2, p3)
    • 示例:"I love {0}.{1}".format("fishc", "com") → I love fishc.com
  • 关键字参数用法
    • 语法:"{a}{b}{c}".format(a=x, b=y, c=z)
    • 示例:"I love {a}.{b}".format(a="fishc", b="com") → I love fishc.com
  • 混合参数用法
    • 示例:"{0}{b}".format("I love ", b="fishc.com") → I love fishc.com
  • 特殊场景
    • 打印花括号:用双层 {{}} 转义 → "{{0}}".format("test") → {0}
    • 格式控制符:{索引:格式} 实现数值格式化
      • 示例:"{0:.1f}{1}".format(27.658, "GB") → 27.7GB
      • 说明:.1f 表示四舍五入保留1位小数,f 为定点数格式

百分号 % 格式化操作符

  • 核心规则
    • 专用字符串格式化操作符,语法类似C语言 printf
    • 多参数时需用元组包裹,支持整数、浮点数、进制转换等
  • 常用格式化符号
    符号含义示例
    %c格式化字符及ASCII码"%c%c%c" % (97,98,99) → abc
    %s格式化字符串"I love %s" % "fishc.com" → I love fishc.com
    %d格式化整数"4+5=%d" % (4+5) → 4+5=9
    %o格式化无符号八进制数"%o" % 10 → 12
    %x/%X格式化无符号十六进制数(小写/大写)"%x" % 10→a;"%X" %10→A
    %f格式化定点数,默认6位小数"%f" % 27.658 → 27.658000
    %e/%E科学计数法格式化(小写/大写)"%e" %27.658→2.765800e+01
    %g/%G智能选择%f%e格式"%g" %27.658 →27.658
  • 格式化辅助命令
    • m.nm 为最小总宽度,n 为小数位数 → "%.1f" %27.658→27.7;"%5.1f" %27.658→ 27.7
    • -:左对齐 → "%-10d" %5 → 5
    • +:正数前加正号 → "%+d" %5 → +5
    • #:八进制加0o,十六进制加0x"%#o" %10→0o12;"%#x" %10→0xa
    • 0:用0填充空格 → "%010d" %5 → 0000000005

字符串转义字符

  • 用于表示特殊字符,常见转义符:
    • \n:换行符;\t:制表符(Tab)
    • \':单引号;\":双引号;\\:反斜杠