Kodokon kodokon.com

深入字符串:切片、f-string、方法

借助切片、f-string 和字符串方法,像在真实项目中那样提取、格式化和清洗文本。

8 分钟 · 3 题

在 Kodokon 中打开本课

在真实项目中,你会不断地处理字符串:订单编号、电子邮箱地址、文件中的行。切片[start:stop:step] 语法提取子串:stop 索引是不包含的,负索引从末尾开始计数,省略某个边界则表示"从开头起"或"到结尾为止"。

PYTHON
reference = "ORD-2026-00042"

print(reference[:3])    # ORD
print(reference[4:8])   # 2026
print(reference[-5:])   # 00042
print(reference[::-1])  # 24000-6202-DRO
切片无需写一行循环就能拆分一个编号。

f-string 是构建文本的现代方式:在字符串前加上 f,然后把表达式写进花括号里。冒号后面的格式说明控制着显示方式::.2f 四舍五入保留两位小数,:03d 用零补齐位数。在实践中,请放弃用 + 拼接:f-string 更易读,也能避免类型错误。

PYTHON
product = "wireless keyboard"
price = 49.9
stock = 3

print(f"{product} : {price:.2f} EUR")
print(f"Stock : {stock:03d} units")
total = price * stock
print(f"Total : {total:.2f} EUR")
格式说明保证数字的显示整洁规范。

字符串方法涵盖了数据清洗的核心:strip 去掉两端的空白,split 拆分成列表,join 重新拼接起来,lowerupper 统一大小写,replace 进行替换,startswithendswith 检测首尾。关键一点:字符串是不可变的,每个方法都会返回一个新的字符串,而不会修改原来的那个。

PYTHON
raw = "  Alice.Martin@Example.COM ; ADMIN "

email, role = raw.split(";")
email = email.strip().lower()
role = role.strip().lower()

print(email)  # alice.martin@example.com
print(role)   # admin
print(email.endswith("@example.com"))  # True
链式调用 strip、lower 和 split:数据清洗三件套。

知识检测

确认你已牢记本课的重点内容。

  1. "python"[1:4] 的值是什么?
    • pyt
    • yth
    • ytho
    • pyth
  2. print(f"{3.14159:.2f}") 会显示什么?
    • 3.14
    • 3.1415
    • 3,14
    • 0.14
  3. "a,b,c".split(",") 返回什么?
    • 字符串 'abc'
    • 列表 ['a', 'b', 'c']
    • 元组 ('a', 'b', 'c')