跳转到主要内容
模块 4 · 第 1 课(共 4)课程中的13/36~12 min
模块课程(1/4)

字符串方法

Python 中的字符串是不可变的:每个“修改”它们的方法 实际上返回一个新字符串,原始字符串保持原样。

Python
s = "Ciao"
s.upper()   # 'CIAO'   (nuova stringa)
s           # 'Ciao'   (originale invariata)

要“更新”,请指定结果:s = s.upper()。

大写、小写、大小写控制

Python
"Ciao".upper()        # 'CIAO'
"CIAO".lower()        # 'ciao'
"ciao mondo".title()  # 'Ciao Mondo'
"ciao".capitalize()   # 'Ciao'
"CiAo".swapcase()     # 'cIaO'

清理:strip

从边缘删除空白(空格、制表符、换行符)。

Python
"  ciao  ".strip()       # 'ciao'
"  ciao  ".lstrip()      # 'ciao  '
"  ciao  ".rstrip()      # '  ciao'
"___ciao___".strip("_")  # 'ciao'   (argomento = caratteri da togliere)

拆分并重新加入:split / join

Python
"a,b,c".split(",")          # ['a', 'b', 'c']
"  ciao  mondo".split()     # ['ciao', 'mondo']   (split su whitespace, salta i vuoti)
",".join(["a", "b", "c"])  # 'a,b,c'

基本习惯用法:"separator".join(list_of_strings)。所有元素 必须是字符串,否则为 TypeError。

替换:replace

Python
"ciao mondo".replace("mondo", "Python")   # 'ciao Python'
"aaaa".replace("a", "b", 2)               # 'bbaa'   (max 2 sostituzioni)

内容测试

Python
"image.png".endswith(".png")   # True
"http://".startswith("http")    # True
"ciao" in "ciao mondo"          # True   (operatore in)
"ciao mondo".find("mondo")      # 5      (-1 se non trovato)
"ciao mondo".count("o")         # 2

如果子字符串不存在,则 find 返回 -1; index 相反引发 ValueError。

字符串是不可变的

在Python中,字符串是不可变的:没有字符串方法修改原始字符串;相反,它们总是返回一个新字符串。如果写入 s.upper(),则变量 s 保持不变。要保存修改,您必须重新分配它:s = s.upper()。

尝试一下

锻炼#python.m4.l1.e1
尝试:0加载中...

给定 `name = ' Ada Lovelace '`,将 `cleaned` 计算为 `name`,没有边缘空格并且全部小写。评估“清洁”。

正在加载编辑器...
显示提示

链接方法:首先是 strip(),然后是 lower()。

3 次尝试后可用的解决方案

复习练习

锻炼#python.m4.l1.e2
尝试:0加载中...

给定 `csv = 'mela,pera,kiwi'`,通过逗号分割获得列表 `fruits`,然后重建 `slash_separated` 用 '/' 连接。评估`slash_separated`。

正在加载编辑器...
显示提示

split 会分开,join 会重新组合在一起。

3 次尝试后可用的解决方案

额外的挑战

锻炼#python.m4.l1.e3
尝试:0加载中...

给定字符串 \`raw_text = " hello world "\`,使用 \`.strip()\` 删除前导和尾随空格,并将文本转换为大写。将清理后的结果存储在“clean_text”中并对其进行评估。

正在加载编辑器...
显示提示

将调用组合成一个链:raw_text.strip().upper()。

3 次尝试后可用的解决方案