当前位置:首页>python>30 天学 Python|第 10 天:字符串常用操作

30 天学 Python|第 10 天:字符串常用操作

  • 2026-10-09 09:35:03
30 天学 Python|第 10 天:字符串常用操作

姓名、密码、商品名称、文件内容和接口数据,都离不开字符串。

今天把零散使用过的字符串操作系统整理一遍,学会真正处理文本。

一、索引:读取一个字符

字符串中的每个字符都有位置,索引从 0 开始:

text = "Python"

print
(text[0])   # P
print
(text[1])   # y
print
(text[-1])  # n

负数索引从右侧开始,-1 表示最后一个字符。

二、切片:读取一部分字符串

text = "Python"

print
(text[0:3])  # Pyt
print
(text[2:])   # thon
print
(text[:4])   # Pyth
print
(text[::-1]) # nohtyP

切片包含起点,但不包含终点。

text[start:end:step]

第三个位置表示步长,-1 可以用来反转字符串。

三、字符串不能原地修改

下面的代码会报错:

text = "Python"
text[0] = "J"

字符串是不可变类型。如果需要改变内容,要创建一个新字符串:

text = "Python"
new_text = "J" + text[1:]
print
(new_text)

四、清理与大小写转换

message = "  Hello Python  "

print
(message.strip())
print
(message.lower())
print
(message.upper())
print
(message.title())

常见用途:

  • • strip():删除两端空白
  • • lower():转换成小写
  • • upper():转换成大写
  • • title():将英文单词首字母大写

处理用户命令时,经常组合使用:

command = input("请输入命令:").strip().lower()

五、查找、替换与统计

text = "I like Python. Python is useful."

print
(text.find("Python"))
print
(text.count("Python"))
print
(text.replace("Python", "programming"))

find() 找不到内容时返回 -1,也可以使用 in 判断:

if "Python" in text:
    print
("找到了 Python")

六、拆分与组合

使用 split() 将字符串拆成列表:

data = "苹果,香蕉,橙子"
fruits = data.split(",")
print
(fruits)

使用 join() 将列表组合成字符串:

fruits = ["苹果", "香蕉", "橙子"]
result = "、".join(fruits)
print
(result)

记忆方法:

  • • 字符串.split() 得到列表
  • • 连接符.join(列表) 得到字符串

七、常用判断方法

print("123".isdigit())
print
("Python".isalpha())
print
("Python3".isalnum())
print
("hello.py".endswith(".py"))
print
("Python".startswith("Py"))

这些方法返回 True 或 False,适合输入检查和文件名判断。

基础练习

  1. 1. 输出字符串的第一个和最后一个字符。
  2. 2. 使用切片反转一个单词。
  3. 3. 清理用户输入并统一转成小写。
  4. 4. 统计一段文字中 Python 出现的次数。
  5. 5. 将逗号分隔的商品文字转换成列表。

今日项目:文本分析器

def analyze_text(text):
    clean_text = text.strip()
    words = clean_text.split()

    print
("\n======== 分析结果 ========")
    print
(f"字符数量:{len(clean_text)}")
    print
(f"单词数量:{len(words)}")
    print
(f"字母数量:{sum(char.isalpha() for char in clean_text)}")
    print
(f"数字数量:{sum(char.isdigit() for char in clean_text)}")
    print
(f"Python 出现次数:{clean_text.lower().count('python')}")


content = input("请输入一段文字:")
analyze_text(content)

sum(char.isalpha() for char in clean_text) 是一种简洁写法:逐个检查字符,True 会按 1 参与求和。暂时看懂作用即可,后面还会系统学习。

查漏测试

  1. 1. 字符串的第一个索引是多少?
  2. 2. 切片为什么不包含终点?
  3. 3. 字符串能否直接修改其中一个字符?
  4. 4. split() 与 join() 的方向有什么区别?
  5. 5. find() 找不到目标时返回什么?

处理字符串的核心过程通常只有三步:清理、拆分、重新组合。

最新文章

随机文章