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,简洁高效

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

相关推荐
yuyuxun118 分钟前
协同过滤的校园二手物品智能推荐系统的设计与实现 毕业设计-附源码40082
javascript·vue.js·spring boot·python·数据分析·django·课程设计
如夏倾城44 分钟前
百度文心(容易被忽略的好用AI)使用方式
人工智能·python·百度·语言模型·dubbo
用户019027581611 小时前
quotes 实时价和 klines 最新收盘价为什么对不上?
python
another heaven1 小时前
【C/C++ Ranges 是零开销抽象吗?拆开管道、惰性求值和编译期膨胀】
c语言·开发语言·c++
少司府2 小时前
嵌入式入门篇(二):初识STM32F103ZET6
linux·python·stm32·单片机·嵌入式硬件·mcu·嵌入式软件
打工仔折腾 AI2 小时前
Changedetection.io 网页变动监控:Docker 部署、通知配置与公网暴露实践
运维·人工智能·后端·python·docker·容器·性能优化
火云代理2 小时前
Python 使用代理 IP 前,先弄清 Requests 的配置来源与验证方法
网络·python·网络协议·tcp/ip·ip
SomeOtherTime3 小时前
Rust 闭包语法和原理(AI回答)
开发语言·后端·rust
apcipot_rain3 小时前
C++转Java日记(10)
java·开发语言
总要学点什么3 小时前
第105篇:三维特效-流动图片墙体效果——让箭头沿墙长滚,它俩竟是同一份代码
开发语言·javascript·ecmascript·gis·webgl·材质·cesium