Python3 字符串核心知识点

一、字符串基础定义

字符串用单引号 / 双引号包裹,三引号支持多行文本

字符串是不可变序列,每个字符有固定索引(从 0 开始)

python 复制代码
# 基础定义
s1 = 'hello'
s2 = "python"
s3 = '''hello
python'''  # 多行字符串

二、核心操作:索引、切片、拼接、重复

  1. 索引取值
    正索引:从左往右(0 开始)
    负索引:从右往左(-1 为最后一位)
python 复制代码
s = "python"
s[0]   # 'p'
s[-1]  # 'n'(最后一个字符)
  1. 切片(起始:结束:步长)
    省略起始:从 0 开始
    省略结束:到末尾
    步长 - 1:字符串逆序
python 复制代码
s = "abcdef"
s[:3]   # 'abc'(前3个)
s[2:]   # 'cdef'(索引2到末尾)
s[::-1] # 'fedcba'(逆序)
  1. 拼接与重复
    拼接:+
    重复:* 数字
python 复制代码
"hello" + " world"  # 'hello world'
"python" * 3        # 'pythonpythonpython'
  1. 长度计算
python 复制代码
len("hello python")  # 12(包含空格)

三、字符串常用方法(高频必背)

  1. 大小写转换
python 复制代码
s = "hello python"
s.upper()       # 全大写:HELLO PYTHON
s.lower()       # 全小写:hello python
s.capitalize()  # 首字母大写:Hello python
s.title()       # 每个单词首字母大写:Hello Python
  1. 去除空白字符
python 复制代码
s = "  python  "
s.strip()   # 去除两端空格:python
s.lstrip()  # 去除左侧空格
s.rstrip()  # 去除右侧空格
  1. 替换与分割
    替换:replace(旧串, 新串)
    分割:split(分隔符) → 返回列表
python 复制代码
"hello java".replace("java", "python")  # 'hello python'
"hello python world".split(" ")         # ['hello','python','world']
  1. 查找与统计
python 复制代码
s = "hello python hello"
s.count("hello")  # 2(统计子串出现次数)
s.find("t")      # 2(查找第一次出现的索引,找不到返回-1)
  1. 拼接列表(join)
python 复制代码
lst = ['a','b','c']
"".join(lst)  # 'abc'

四、判断方法(返回布尔值)

python 复制代码
"123".isdigit()   # True(是否纯数字)
"abc".isalpha()  # True(是否纯字母)
"Hello".startswith("H")  # True(是否以指定字符开头)
"python".endswith("n")   # True(是否以指定字符结尾)
"o" in "hello"    # True(判断子串是否存在)

五、字符串格式化(推荐写法)

  1. f-string(最简单常用)
python 复制代码
name = "张三"
age = 18
print(f"我叫{name},今年{age}岁")
  1. format 方法
python 复制代码
print("我叫{},今年{}岁".format(name, age))

六、遍历与字符处理

python 复制代码
# 遍历字符串
s = "python"
for char in s:
    print(char)

# 分离字母和数字
s = "a1b2c3"
letters, digits = "", ""
for i in s:
    if i.isalpha(): letters += i
    elif i.isdigit(): digits += i
# 结果:letters=abc,digits=123

七、转义字符处理

取消转义:加\ 或 使用原始字符串r''

python 复制代码
print("hello\\npython")
print(r"hello\npython")  # 推荐

总结

核心操作:索引、切片、拼接、len ()

必背方法:upper()/lower()/strip()/replace()/split()/join()

高频判断:in、isdigit()、isalpha()、startswith()、endswith()

格式化优先用 f-string,简洁高效

字符串不可变,所有修改操作均返回新字符串

相关推荐
不是万能的豆学长13 小时前
filetidy 文件整理助手:一键归类 + 规范重命名(Python 零依赖单文件工具)
大数据·开发语言·python·技术美术
gCode Teacher 格码致知14 小时前
Pandas教学-18:number与numeric的区别
python·pandas
梦想不只是梦与想17 小时前
Python 中subprocess 模块:执行外部命令
python·subprocess·调用外部命令
懂点Tech18 小时前
ctfshow MISC入门图片篇(信息附加):misc41解题思路
开发语言·python
catchadmin18 小时前
PHP 8.7 协程新提案 让跨协程代码共享请求身份
开发语言·php
念何架构之路19 小时前
go-grpc设计思想
开发语言·后端·golang
酷炫码神20 小时前
Day 10|Pinia 状态管理:把散落在各组件的数据,收进一个全局仓库
android·开发语言·javascript
Elastic 中国社区官方博客20 小时前
我们如何通过 70 多个拉取请求,将 OpenTelemetry Java agent 迁移到 invokedynamic
java·大数据·开发语言·elasticsearch·搜索引擎·全文检索·es
tyn18821 小时前
记录本地安装nacos服务的方法及异常
java·开发语言
步行cgn21 小时前
Spring MVC 视图机制的核心接口与类
java·开发语言·后端·spring·mvc