当前位置: 首页 > news >正文

Python自学10-常用数据结构之字符串

Python自学10-常用数据结构之字符串

前言

在Python里,字符串(str)几乎是最常用的数据结构之一。无论是日志处理、文件解析,还是Web开发、数据分析,你都会频繁和字符串打交道。

今天这篇文章,我们就来聊聊 Python字符串的常见操作和实用技巧。如果你能把这些方法都玩熟,写代码时就能少走很多弯路。

img


一、什么是字符串?

在Python中,字符串就是用 单引号 '...'双引号 "..." 包裹起来的一段文本。比如:

s1 = 'Hello'
s2 = "Python"
print(s1, s2)

输出:

Hello Python

另外,Python还支持 三引号字符串'''...'''"""..."""),常用来写多行文本:

msg = """星哥玩云
Python自学系列文章
字符串篇"""
print(msg)

二、字符串的常见操作

1. 拼接与重复

a = "Python"
b = "学习"
print(a + b)      # 拼接
print(a * 3)      # 重复

输出:

Python学习
PythonPythonPython

2. 索引与切片

字符串和列表一样,也能通过 索引 访问字符。

text = "Python"
print(text[0])    # P
print(text[-1])   # n
print(text[0:4])  # Pyth

3. 大小写转换

s = "hello world"
print(s.upper())   # HELLO WORLD
print(s.lower())   # hello world
print(s.title())   # Hello World
print(s.capitalize())  # Hello world

4. 查找与替换

s = "I love Python, Python is great!"
print(s.find("Python"))     # 7
print(s.rfind("Python"))    # 14
print(s.replace("Python", "Java"))

5. 拆分与拼接

s = "apple,banana,orange"
print(s.split(","))        # ['apple', 'banana', 'orange']fruits = ['apple', 'banana', 'orange']
print("-".join(fruits))    # apple-banana-orange

6. 判断类型

print("123".isdigit())     # True
print("abc".isalpha())     # True
print("Hello123".isalnum()) # True
print("   ".isspace())     # True

7. 去除空格

s = "   Python   "
print(s.strip())   # 去掉首尾空格
print(s.lstrip())  # 去掉左边空格
print(s.rstrip())  # 去掉右边空格

三、字符串格式化

1. f-string(推荐)

name = "星哥"
lang = "Python"
print(f"你好,我是{name},我正在学习{lang}")

2. format方法

print("你好,我是{},我正在学习{}".format("星哥", "Python"))

3. 百分号格式化

print("你好,我是%s,我正在学习%s" % ("星哥", "Python"))

四、实战小练习

👉 练习1:统计一段文本里某个单词出现的次数

text = "Python is great, Python is easy to learn."
count = text.lower().count("python")
print(f"Python 出现了 {count} 次")

👉 练习2:快速生成一个SQL查询语句

table = "users"
column = "name"
value = "Alice"
sql = f"SELECT * FROM {table} WHERE {column} = '{value}'"
print(sql)

五、总结

  • 字符串是Python里最常用的数据结构之一
  • 掌握 切片、拼接、查找、替换、格式化 等常见操作,可以让你写代码更高效
  • f-string 是目前最推荐的格式化方式,既简洁又直观

字符串看似简单,但其实在日常开发中,很多Bug和技巧都和它相关。建议你多练习,尤其是文本处理和日志分析的场景。

http://www.dtcms.com/a/335816.html

相关文章:

  • 机器学习算法篇(十三)------词向量转化的算法思想详解与基于词向量转换的文本数据处理的好评差评分类实战(NPL基础实战)
  • 深度解析 Tomcat ProtocolHandler 工作原理
  • 安装 Docker 支持 NVIDIA 显卡的依赖
  • AI Search进化论:从RAG到DeepSearch的智能体演变全过程
  • JavaScript性能优化实战(三):DOM操作性能优化
  • 计算机网络 HTTP1.1、HTTP2、HTTP3 的核心对比及性能分析
  • 【LLM】文献阅读-ISOLATE GPT:基于大语言模型的执行隔离架构
  • 第16节:自定义几何体 - 从顶点构建3D世界
  • 检查xrdp远程连接桌面卡顿的问题(附解决sh脚本)
  • Oracle查看历史会话信息视图介绍
  • 【大语言模型 04】Cross-Attention vs Self-Attention实战对比:解码器中的双重注意力机制
  • NumPy 库介绍:核心 API 详解
  • MYSQL-175. 组合两个表
  • Java 学习笔记(基础篇4)
  • Java学习笔记:IDEA简单使用技巧
  • 安卓14系统应用收不到开机广播
  • HTTP请求参数类型及对应的后端注解
  • AMBA-AXI and ACE协议详解(七)
  • 【学习笔记】面向AI安全的26个缓解措施
  • API网关实施中典型陷阱
  • 【数据结构与算法】单调队列的定义和运用
  • 整体设计 之“凝聚式中心点”原型 --整除:智能合约和DBMS的深层联合 之1
  • Android Jetpack | Livedata
  • Gradle快速入门学习
  • 【算法】模拟专题
  • riscv中断处理软硬件流程总结
  • C++算法题目分享:二叉搜索树相关的习题
  • 原子指标、派生指标和复合指标
  • nodejs 中间件
  • 【Jenkins】01 - Jenkins安装