在 Python 中,字符串是不可变的序列,用于表示文本数据。它们由一系列字符组成,可以使用单引号 ('...')、双引号 ("...") 或三引号 ('''...''' 或 """...""") 来创建。
len()、迭代)。由于字符串是序列,可以通过索引访问单个字符,通过切片获取子字符串。
索引 (Indexing):从 0 开始,负数索引从末尾开始 (-1 是最后一个字符)。
切片 (Slicing):s[start:end:step]
start:起始索引(包含)。如果省略,默认为 0。end:结束索引(不包含)。如果省略,默认为字符串长度。step:步长。如果省略,默认为 1。字符串对象有许多内置方法用于执行常见操作。由于字符串是不可变的,这些方法通常返回一个新的字符串,而不是修改原始字符串。
len(s) (内置函数): 返回字符串的长度。
s.find(substring, start, end): 查找子字符串 substring 在 s 中首次出现的位置。如果找到,返回其起始索引;否则返回 -1。
start 和 end 参数可选,用于指定搜索范围。s.rfind(substring, start, end): 类似于 find(),但从右边开始查找。s.index(substring, start, end): 类似于 find(),但如果未找到子字符串,会引发 ValueError 异常。
s.rindex(substring, start, end): 类似于 index(),但从右边开始查找。s.replace(old, new, count): 返回一个新字符串,其中所有出现的子字符串 old 都被 new 替换。可选参数 count 指定最大替换次数。
s.split(separator, maxsplit): 根据 separator 分割字符串,返回一个子字符串列表。如果 separator 未指定或为 None,则默认按空白字符(空格、制表符、换行符等)分割,并丢弃空字符串。
maxsplit 可选,指定最大分割次数。separator.join(iterable): 将 iterable (如列表、元组) 中的字符串元素用 separator 连接起来,形成一个新的字符串。
s.upper() / s.lower(): 返回字符串的大写/小写版本。
s.capitalize(): 返回字符串的副本,其第一个字符大写,其余字符小写。
s.title(): 返回字符串的标题化版本,即每个单词的首字母大写,其余字母小写。
s.strip(chars) / s.lstrip(chars) / s.rstrip(chars): 返回去除字符串开头和/或结尾处指定字符(默认为空白字符)的副本。
strip(): 去除两端lstrip(): 去除左端 (开头)rstrip(): 去除右端 (结尾)s.startswith(prefix, start, end) / s.endswith(suffix, start, end): 检查字符串是否以指定的前缀/后缀开头/结尾。返回 True 或 False。
s.isdigit() / s.isalpha() / s.isalnum() / s.islower() / s.isupper() / s.isspace(): 检查字符串的特性。
isdigit(): 如果所有字符都是数字且至少有一个字符,则为 True。isalpha(): 如果所有字符都是字母且至少有一个字符,则为 True。isalnum(): 如果所有字符都是字母或数字且至少有一个字符,则为 True。islower(): 如果所有字母字符都是小写且至少有一个字母字符,则为 True。isupper(): 如果所有字母字符都是大写且至少有一个字母字符,则为 True。isspace(): 如果所有字符都是空白字符且至少有一个字符,则为 True。Python 提供了多种格式化字符串的方法,用于将变量的值嵌入到字符串中。
% 操作符 (旧式):
这种方式在现代 Python 代码中已不推荐使用。
str.format() 方法 (推荐):
f-strings (格式化字符串字面值 - Python 3.6+,强烈推荐): f-strings 提供了一种简洁且可读性强的方式来在字符串中嵌入表达式。
f-strings 通常是进行字符串格式化的首选方法,因为它们更易读、更简洁,并且通常比 str.format() 更快。
字符串是 Python 编程中非常基础且重要的数据类型,熟练掌握其操作对于编写高效和可读的 Python 代码至关重要。