当前位置:首页>python>一文读懂Python字符串:从基础到实战,新手也能轻松掌握

一文读懂Python字符串:从基础到实战,新手也能轻松掌握

  • 2026-10-11 08:41:30
一文读懂Python字符串:从基础到实战,新手也能轻松掌握
【写在前面】可以参看我的视频进行学习,喜欢的话,关注,点赞分享。

在Python编程中,字符串(String) 是最常用、最基础的数据类型之一,无论是处理文本、拼接内容、数据清洗,还是日常开发,都离不开字符串。

这篇文章将从零开始,带你系统学习Python字符串,步骤清晰、案例丰富,新手也能一步步吃透!

一、什么是Python字符串?

简单来说,字符串就是由单个/多个字符组成的有序文本序列,用来表示文字、符号、数字组合等非数值型数据。

在Python里,字符串的核心特征:

  1. 用引号包裹(单引号、双引号、三引号都可以);
  2. 属于不可变序列(创建后不能直接修改原字符串,修改会生成新字符串);
  3. 支持索引、切片、遍历、拼接等超多便捷操作。

举个最简单的例子:"Hello Python"、'123456'、"""我是多行字符串""" 都是合法的字符串。

二、字符串的3种定义方式(必掌握)

Python提供了3种定义字符串的语法,适用场景不同,按需选择即可:

1. 单引号定义:'字符串内容'

适合定义单行、短文本字符串,语法最简洁。

# 单引号字符串
str1 = '我是Python字符串'
print(str1)  # 输出:我是Python字符串

2. 双引号定义:"字符串内容"

和单引号功能完全一致,唯一优势:字符串内部可以直接包含单引号,无需转义。

# 字符串内含单引号,用双引号包裹更方便
str2 = "我是'双引号'字符串"
print(str2)  # 输出:我是'双引号'字符串

3. 三引号定义:'''字符串''' 或 """字符串"""

两大核心用途:

  • 定义多行字符串(直接换行,无需额外处理);
  • 作为代码注释(多行注释专用)。
# 三引号定义多行字符串
str3 = '''我是
多行
字符串'''

print(str3)
# 输出:
# 我是
# 多行
# 字符串

✅ 小总结:单行文本用单/双引号,多行文本用三引号。

三、字符串的核心特性:不可变性

这是Python字符串最重要的特性,新手一定要牢记:字符串创建后,无法直接修改原字符串中的某个字符,如果强行修改,会直接报错!

str1 = 'Python'
# 尝试修改第1个字符,会报错!
str1[0] = 'J'# 报错:TypeError: 'str' object does not support item assignment

如果需要修改字符串,只能重新生成一个新字符串:

str1 = 'Python'
new_str = 'J' + str1[1:]  # 拼接生成新字符串
print(new_str)  # 输出:Jython

四、字符串的基础操作(高频使用)

1. 字符串拼接:+ 号

用 + 可以直接把多个字符串拼接成一个新字符串。

a = 'Hello'
b = 'Python'
c = a + ' ' + b  # 拼接+加空格
print(c)  # 输出:Hello Python

2. 字符串重复:* 号

用 * + 数字,实现字符串重复N次。

str1 = 'Hi!'
print(str1 * 3)  # 输出:Hi!Hi!Hi!

3. 获取字符串长度:len() 函数

用内置函数 len() 快速获取字符串的字符个数。

str1 = 'Python学习'
print(len(str1))  # 输出:8(6个英文+2个中文,都算1个字符)

4. 字符串格式化:3种常用方式

拼接复杂字符串时,格式化比 + 更简洁、更优雅:

方式1:f-string(Python3.6+ 推荐,最简单)

name = '小明'
age = 20
# 直接在字符串中嵌入变量
str1 = f'我叫{name},今年{age}岁'
print(str1)  # 输出:我叫小明,今年20岁

方式2:format() 方法(兼容性强)

str1 = '我叫{},今年{}岁'.format('小明', 20)
print(str1)

方式3:% 占位符(老式写法)

str1 = '我叫%s,今年%d岁' % ('小明', 20)
print(str1)

✅ 优先用f-string,语法最直观、代码最简洁!

五、字符串的索引与切片(核心技能)

字符串是有序序列,每个字符都有对应的位置编号(索引),支持通过索引取值、切片截取。

1. 索引:获取单个字符

  • 正向索引:从左到右,从 0 开始计数;
  • 反向索引:从右到左,从 -1 开始计数。

语法:字符串[索引值]

str1 = 'Python'
# 正向索引
print(str1[0])  # 第1个字符:P
print(str1[5])  # 最后1个字符:n

# 反向索引
print(str1[-1])  # 最后1个字符:n
print(str1[-2])  # 倒数第2个字符:o

2. 切片:截取子字符串

语法:字符串[起始索引:结束索引:步长]

  • 起始索引:包含该位置,默认0;
  • 结束索引:不包含该位置,默认字符串长度;
  • 步长:取值间隔,默认1(可省略)。
str1 = 'HelloPython'

# 截取索引0-4(不包含5):Hello
print(str1[0:5])

# 省略起始索引:从开头截取到索引5
print(str1[:5])

# 省略结束索引:从索引5截取到结尾
print(str1[5:])

# 步长为2:每隔1个字符取一个
print(str1[::2])

# 步长为-1:字符串反转
print(str1[::-1])

六、字符串常用内置方法(实战必备)

Python为字符串提供了几十种内置方法,这里整理开发最常用的10个,背会就能应对80%场景:

1. 大小写转换

str1 = 'hello python'
print(str1.upper())    # 转大写:HELLO PYTHON
print(str1.lower())    # 转小写:hello python
print(str1.title())    # 首字母大写:Hello Python

2. 去除空白字符

str1 = '  Python  '
print(str1.strip())   # 去除首尾空格:Python
print(str1.lstrip())  # 去除左侧空格:Python  
print(str1.rstrip())  # 去除右侧空格:  Python

3. 查找与替换

str1 = 'Hello Python'
# 查找子字符串索引,找不到返回-1
print(str1.find('Python'))  # 输出:6

# 替换字符串
print(str1.replace('Python', 'Java'))  # 输出:Hello Java

4. 判断字符串类型

str1 = '123456'
print(str1.isdigit())   # 判断是否全为数字:True

str2 = 'abc'
print(str2.isalpha())  # 判断是否全为字母:True

5. 分割与拼接

str1 = 'a,b,c,d'
# 按指定字符分割成列表
print(str1.split(','))  # 输出:['a', 'b', 'c', 'd']

list1 = ['a', 'b', 'c']
# 用指定字符拼接列表为字符串
print('-'.join(list1))  # 输出:a-b-c

七、字符串的转义字符

当字符串中需要包含引号、换行、制表符等特殊字符时,用反斜杠 \ 实现转义:

转义字符
含义
\n
换行
\t
制表符(Tab)
\'
单引号
\"
双引号
\\
反斜杠本身

示例:

# 包含换行和单引号
str1 = '第一行\n第二行\'带引号\''
print(str1)
# 输出:
# 第一行
# 第二行'带引号'

八、字符串的遍历

用 for 循环可以逐个取出字符串中的每一个字符:

str1 = 'Python'
for char in str1:
    print(char)
# 依次输出:P y t h o n

九、总结:字符串核心知识点速记

  1. 定义:单/双/三引号包裹,不可变序列;
  2. 操作:拼接(+)、重复(*)、长度(len());
  3. 取值:索引([0]、[-1])、切片([start:end:step]);
  4. 格式化:优先用f-string f"{变量}";
  5. 常用方法:strip()、replace()、split()、upper()、find();
  6. 特性:不可修改,修改需生成新字符串。

掌握以上内容,Python字符串的基础和实战场景就完全够用了!字符串是编程的基石,熟练运用后,无论是文本处理、爬虫解析,还是日常开发,都会事半功倍~

【写在最后】学习是一个漫长积累的过程,希望大家能够坚持,每天都有收获!

最新文章

随机文章