Python3字符串(str)操作详解:__add__,__contains__,__eq__等
152 浏览量
更新于2024-09-02
收藏 68KB PDF 举报
在Python 3中,`str`类型是用于表示文本数据的不可变序列。字符串提供了丰富的内置方法和操作,使得在处理文本时具有很高的灵活性。在本文中,我们将深入探讨一些重要的`str`对象的方法和特性。
首先,让我们看下`__add__`函数,它允许我们在一个字符串后面追加另一个字符串。例如:
```python
s1 = 'Hello'
s2 = s1.__add__(' boy!')
print(s2) # 输出:Hello boy!
```
这里,`__add__`方法将`s1`和' boy!'连接起来,生成一个新的字符串`s2`。
接下来是`__contains__`方法,它用于检查一个字符串是否包含在另一个字符串中。如果找到,返回`True`,否则返回`False`:
```python
s1 = 'Hello'
result = s1.__contains__('He')
print(result) # 输出:True
```
`__eq__`方法用于比较两个字符串是否相等。如果内容完全相同,返回`True`,否则返回`False`:
```python
s1 = 'Hello'
s2 = 'How'
result = s1.__eq__(s2)
print(result) # 输出:False
```
除了这些基本操作,Python 3的字符串还支持许多其他方法:
- `__format__`: 用于格式化字符串,类似于C语言中的`printf`风格,可以插入变量和格式化规则。
- `__getattribute__`: 获取字符串对象的属性,当访问不存在的属性时,会触发`AttributeError`。
- `__getitem__`: 支持索引访问,如`s[0]`会返回字符串的第一个字符。
- `__getnewargs__`: 返回创建新字符串所需的一组参数,通常用于复制或序列化对象。
- `__ge__`, `__gt__`, `__le__`, `__lt__`: 比较运算符,分别代表大于或等于、大于、小于或等于和小于。
- `__hash__`: 计算字符串的哈希值,常用于字典和集合等数据结构的键。
- `__iter__`: 使字符串可迭代,通过遍历每个字符实现。
- `__len__`: 返回字符串的长度,即其中字符的数量。
- `__mod__`: 支持模运算,与`%`操作符类似,用于格式化字符串。
- `__mul__`: 字符串乘法,将字符串重复多次。
- `__new__`: 创建新字符串对象,一般不直接使用,但在子类化时可能用到。
- `__ne__`: 判断两个字符串是否不相等。
- `__repr__`: 返回字符串的可打印表示,通常用于调试。
- `__rmod__`, `__rmul__`: 右侧版本的模运算和乘法运算,用于与其他类型的对象组合。
- `__sizeof__`: 返回字符串在内存中占用的字节数。
- `__str__`: 返回字符串的自身表示,通常用于`print`函数。
除此之外,还有一些常见的字符串方法:
- `capitalize()`: 将字符串的第一个字符转换为大写,其余字符保持不变。
- `casefold()`: 对字符串进行全折叠,将所有字符转换为小写形式,比`lower()`更彻底。
- `center()`: 返回指定宽度的字符串,原字符串居中,两侧用指定字符填充。
- `lower()`: 转换字符串中的所有大写字母为小写。
- `upper()`: 转换字符串中的所有小写字母为大写。
- `ljust()`: 返回指定宽度的字符串,原字符串左对齐,右侧用指定字符填充。
- `rjust()`: 返回指定宽度的字符串,原字符串右对齐,左侧用指定字符填充。
- `replace(old, new[, count])`: 将字符串中的`old`子串替换为`new`,可选参数`count`限制替换次数。
- `split([sep[, maxsplit]])`: 按照指定分隔符`sep`分割字符串,返回一个列表。`maxsplit`限制最大分割次数。
- `strip([chars])`: 去除字符串两侧的指定字符,默认去除空白字符。
- `find(sub[, start[, end]])`: 查找子串`sub`在字符串中的位置,返回开始索引,未找到则返回-1。
- `index(sub[, start[, end]])`: 同`find()`,但未找到时会抛出`ValueError`异常。
了解并熟练运用这些字符串操作和方法,能极大地提高你在Python 3中处理文本数据的效率和代码质量。无论是简单的文本处理还是复杂的字符串操作,Python 3的`str`类型都能提供强大的支持。
2019-09-04 上传
2021-01-20 上传
2018-12-13 上传
2021-01-20 上传
2022-08-02 上传
2020-12-23 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
weixin_38596413
- 粉丝: 6
- 资源: 956
最新资源
- Haskell编写的C-Minus编译器针对TM架构实现
- 水电模拟工具HydroElectric开发使用Matlab
- Vue与antd结合的后台管理系统分模块打包技术解析
- 微信小游戏开发新框架:SFramework_LayaAir
- AFO算法与GA/PSO在多式联运路径优化中的应用研究
- MapleLeaflet:Ruby中构建Leaflet.js地图的简易工具
- FontForge安装包下载指南
- 个人博客系统开发:设计、安全与管理功能解析
- SmartWiki-AmazeUI风格:自定义Markdown Wiki系统
- USB虚拟串口驱动助力刻字机高效运行
- 加拿大早期种子投资通用条款清单详解
- SSM与Layui结合的汽车租赁系统
- 探索混沌与精英引导结合的鲸鱼优化算法
- Scala教程详解:代码实例与实践操作指南
- Rails 4.0+ 资产管道集成 Handlebars.js 实例解析
- Python实现Spark计算矩阵向量的余弦相似度