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

【python系列】python数据类型之字符串

1.前言

字符串是编程中最常用的数据类型,这章需要针对字符串进行讲解。
字符串的定义:

字符串(英语:string),是由零个或多个字符组成的有限序列。——Wikipedia

python官方文档:https://docs.python.org/zh-cn/3.10/library/stdtypes.html#text-sequence-type-str

字符串是由 Unicode 码位构成的不可变 序列。—— python官方文档

在这里插入图片描述
从定义上看,我们知道字符串是零个或多个字符有序且不可变序列。

字符串字面值有多种不同的写法:

  • 单引号: ‘允许包含有 “双” 引号’
  • 双引号: “允许嵌入 ‘单’ 引号”
  • 三重引号: ‘’‘三重单引号’‘’, “”“三重双引号”“”

使用三重引号的字符串可以跨越多行 —— 其中所有的空白字符都将包含在该字符串字面值中。

2.常用的字符串基本操作

在Python中,字符串是一个非常常见的、内置的类型,它支持多种基本操作。以下是一些常用的字符串基本操作:

1. 成员运算符 (in, not in)

  • 用来检查一个子字符串是否存在于另一个字符串中。
s = "hello world"
print("hello" in s)   # True
print("world" not in s)  # False

2. 连接运算符 (+)

  • 用于连接两个字符串。
s1 = "hello"
s2 = "world"
result = s1 + " " + s2  # "hello world"

3. 重复运算符 (*)

  • 用于重复字符串的内容。
s = "hello"
result = s * 3  # "hellohellohello"

4.索引和切片

  • 字符串是有序的,可以使用索引和切片操作。
s = "hello world"
print(s[0])   # 'h',索引从0开始
print(s[-1])  # 'd',负数索引从末尾开始
print(s[0:5]) # 'hello',从0到4的字符
print(s[:5])  # 'hello',从开头到4的字符
print(s[6:])  # 'world',从索引6开始到末尾
print(s[1:5:3]) # 'hello', 从索引1开始,每隔 3 个字符取一个字符

5. 大小写转换

  • 字符串可以通过各种方法转换大小写。
s = "Hello World"
print(s.lower())  # "hello world"
print(s.upper())  # "HELLO WORLD"
print(s.title())  # "Hello World"
print(s.swapcase())  # "hELLO wORLD"

6. 去除空白字符 (strip(), lstrip(), rstrip())

  • 用来去掉字符串两端的空白字符。
s = "  hello world  "
print(s.strip())   # "hello world",去掉两边的空格
print(s.lstrip())  # "hello world  ",去掉左边的空格
print(s.rstrip())  # "  hello world",去掉右边的空格

7. 替换子字符串 (replace())

  • 用于替换字符串中的指定子字符串。
s = "hello world"
print(s.replace("world", "Python"))  # "hello Python"

8. 分割字符串 (split())

  • 用指定分隔符将字符串分割成多个子字符串,返回一个列表。
s = "apple,banana,cherry"
fruits = s.split(",")  # ['apple', 'banana', 'cherry']

9. 查找子字符串 (find(), index())

  • find()返回子字符串首次出现的位置,如果找不到返回-1;index()也是查找,但如果找不到会抛出异常。
s = "hello world"
print(s.find("world"))  # 6
print(s.index("world")) # 6
print(s.find("Python")) # -1

10. 判断字符串类型 (startswith(), endswith())

  • 检查字符串是否以某个子字符串开始或结束。
s = "hello world"
print(s.startswith("hello"))  # True
print(s.endswith("world"))   # True

11. 字符串长度 (len())

  • 获取字符串的长度(字符个数)。
s = "hello"
print(len(s))  # 5

12. 字符串格式化 (format(), f-strings)

  • 在字符串中插入变量值或表达式。
name = "gaoluchuan"
age = 25
# 使用`format()`
print("My name is {} and I am {} years old.".format(name, age))  # "My name is gaoluchuan and I am 25 years old."
# 使用f-string(Python 3.6+)
print(f"My name is {name} and I am {age} years old.")  # "My name is gaoluchuan and I am 25 years old."

13. 字符串对齐 (ljust(), rjust(), center())

  • 用指定的字符填充字符串,使其在指定宽度内对齐。
s = "hello"
print(s.ljust(10, "-"))  # "hello-----"
print(s.rjust(10, "-"))  # "-----hello"
print(s.center(10, "-")) # "--hello---"

14. 字符串转义

  • 用反斜杠(\)来转义特殊字符。
s = "Hello\nWorld"
print(s)  # "Hello"换行"World"
s2 = "He said, \"Hello!\""
print(s2)  # He said, "Hello!"

这些基本操作提供了丰富的字符串处理能力,适用于字符串的查找、替换、格式化、分割、对齐等多种需求。

字符串的操作方法有几十种,除了上面常用的方法,还需要根据官方文档中的每个方法逐个练习。
python官方文档:https://docs.python.org/zh-cn/3.10/library/stdtypes.html#text-sequence-type-str

3.总结

字符串作为最常用的文本数据类型,操作方法确实太多了,如果想学好,没有捷径,就是多练习,还有一个很重要的问题是,把每个str方法的英文语法和语义确保都能看懂,使用中遇到问题可以快速通过查看英文提示进行理解。
在这里插入图片描述


http://www.kler.cn/a/399292.html

相关文章:

  • Tomcat启动过程中cmd窗口(控制台)中文乱码的问题
  • vue使用List.reduce实现统计
  • Halcon HImage 与 Qt QImage 的相互转换(修订版)
  • 使用Python和BeautifulSoup进行网页抓取:通过Python编程语言,结合BeautifulSoup库,可以轻松地从网站上抓取所需的信息。
  • 【设计模式】行为型模式(五):解释器模式、访问者模式、依赖注入
  • 前景理论(Prospect Theory)
  • uniapp h5 实现扫扫二维码
  • 排序算法 -快速排序
  • 【 LLM论文日更|检索增强:大型语言模型是强大的零样本检索器 】
  • Java基础-组件及事件处理(中)
  • 深度学习的艺术:揭秘卷积神经网络(CNN)的神秘面纱
  • Linux-何为CentOS
  • Unity3D中管理Shader效果详解
  • 算法定制LiteAIServer摄像机实时接入分析平台玩手机打电话检测算法:智能监控的新篇章
  • 基础:用卷积神经网络(CNN)进行猫狗图像分类
  • (四)P2Link内置HTTP服务,分享本地文件
  • 力扣515:在每个树行中找最大值
  • 云原生周刊:Istio 1.24.0 正式发布
  • css:盒子模型
  • 【GAT】 代码详解 (1) 运行方法【pytorch】可运行版本
  • React Native 全栈开发实战班 -原生功能集成之相机与图片
  • 希尔排序(C语言)
  • 基于STM32设计的大棚育苗管理系统(4G+华为云IOT)_265
  • 易考八股文之Elasticsearch合集
  • 微信小程序自定义顶部导航栏(适配各种机型)
  • IOException: Broken pipe与IOException: 远程主机强迫关闭了一个现有的连接