博客
关于我
python --- 字符串 str
阅读量:802 次
发布时间:2023-03-05

本文共 1824 字,大约阅读时间需要 6 分钟。

Python 字符串操作指南

字符串在编程中是一个非常重要的数据类型,Python 的字符串操作功能强大且易于使用。本文将详细介绍字符串的特点、创建方法、操作符以及格式化技巧。

字符串的特点

字符串天生具有跨平台特性,不可变类型,支持索引和切片操作,是可迭代对象,可以存储多个数据。这些特性使得字符串在文本处理、数据存储和传输中广泛应用。

字符串的创建

直接创建

可以通过简单的方式直接创建字符串:

a = 'abcd'  # 创建包含 'abcd' 的字符串a = ''    # 创建空字符串

构造方法

使用 str() 方法将任意对象转化为字符串:

str(object='')  # 将任何对象转化为字符串str()  # 创建空字符串

字符串分类

字符串可以使用单引号 '、双引号 " 或三引号 ''' 创建。三引号字符串支持多行内容,适合文档注释。转义字符如 \n 表示换行,\\ 表示斜杠。原始字符串可以使用 r'abc' 来避免解释引号。Unicode 字符串使用 u'abc' 编码。

格式化字符串

使用 f'abc' 格式化字符串,{variable} 可替换为变量值。支持辅助命令如 .1f 保留小数点后一位:

a = '小米'b = '大美'print(f'{a} love {b}')  # 输出 '小米 love 大美'

二进制字符串

使用 b'abc' 创建二进制字符串:

binary_string = b'abc'  # 通过 encode() 和 decode() 方法进行编码解码

字符串的访问

索引、切片和遍历

字符串支持通过索引访问单个字符,切片操作获取子串。遍历字符串可以使用 for 循环:

a = 'abc'a[0]  # 'a'a[1:3]  # 'bc'for char in a:    print(char)

字符串方法

字符串方法如 capitalize()casefold()encode() 等提供了丰富的操作功能:

a = 'abc'a.capitalize()  # 'Abc'a.encode('utf-8')  # 将字符串编码为二进制

字符串的操作符

拼接、重复和比较

字符串支持 + 拼接、 * 重复、 ==!= 比较:

a = 'abc'a + 'def'  # 'abcdef'a * 3  # 'abcabcabc'a == 'abcd'  # False

成员关系

检查字符是否存在于字符串中:

a = 'abc''c' in a  # True

字符串的格式化

format() 方法

使用 format() 方法替换字符串中的占位符:

print('{0} love {1}'.format('Python', '字符串'))  # 输出 'Python love 字符串'

f-字符串

使用 f 字符串进行格式化,直接嵌入变量:

a = '小米'b = '大美'print(f'{a} love {b}')  # 输出 '小米 love 大美'

格式化字符串的辅助命令

使用 % 格式化字符串:

print('%s %d' % ('hello', 5))  # 输出 'hello 5'print('%f' % 3.1416)  # 输出 '3.141600'

字符串的辅助命令

使用 % 格式化字符串的辅助命令来控制输出格式,例如:

print('%20.4f' % 3.1416)  # 输出 '   3.1416'(前面补了 4 个空格)print('%-20.4f' % 3.1416)  # 输出 '3.1416'(左对齐)print('%+20.4f' % -3.1416)  # 输出 '-   3.1416'(显示负号)

转义字符

常见转义字符包括:

\':单引号\":双引号\\:斜杠\n:换行符\r:回车(Windows)\t:制表符\v:垂直制表符\f:换页符\o:八进制数\x:十六进制数\0:空字符

换行

在多行编辑时,可以使用斜杠 \\ 表示换行:

print('一行一行的字符串' \      '可以分成多行')  # 输出 '一行一行的字符串可以分成多行'

总结

字符串在 Python 中是一个功能强大的数据类型,支持丰富的操作和格式化方法。通过掌握这些技巧,您可以更高效地处理文本数据,提升代码的可读性和实用性。

转载地址:http://osafk.baihongyu.com/

你可能感兴趣的文章
PyQt4, class:mouseButtons用法
查看>>
PyQt4参考文档
查看>>
PyTorch Lightning:通过分布式训练扩展深度学习工作流
查看>>
PyQt5 - QThread:在线程仍在运行时被销毁
查看>>
PyQt5 - 如何从工作线程发出信号以通过 GUI 线程调用事件
查看>>
PyQt5 Designer 不工作:此应用程序无法启动,因为无法初始化 Qt 平台插件
查看>>
PyQt5 QLCNumber 没有更新
查看>>
PyQt5 TabWidget选项卡BarClicked TypeError:本机Qt信号不可调用
查看>>
PyQt5 从 PyQt4 转换信号代码
查看>>
PyQt5 和 asyncio:从永不完成的收益
查看>>
PyQt5 和 Django:如何使用 HTTP 请求(Multipart-form)上传图像?
查看>>
PyQt5 按钮运行功能和更新 LCD
查看>>
pyqt5 获取Qlabel中的图片并对其进行处理(包括Qimage转换为Mat)
查看>>
pyqt5 设置控件在最上层或者在下层
查看>>
pyqt5 设置网格布局的间距
查看>>
pyTorch Hub 系列#4:PGAN — GAN 模型
查看>>
PyQt5-基本窗口控件-QMainWindow
查看>>
PyQt5:如何安装/运行 Qt 设计器
查看>>
PyQt5——pyqtgraph绘图大招
查看>>
PyQt5——多窗口之间数据处理
查看>>