IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> 【Python从0到1】字符串 str 类最全详解!小白必备 -> 正文阅读

[Python知识库]【Python从0到1】字符串 str 类最全详解!小白必备

str 字符串类

在 Python 中处理文本数据是使用 str 对象,也称为 字符串。 字符串是由 Unicode 码位构成的不可变序列。

生成

# 直接用 单引号'' 括起来
'helloworld'

# 直接用 双引号"r" 括起来
"helloworld"

# 三单引号'''''',内部可换行
'''hello,
world'''

# 三双引号"""""",内部可换行
"""hello,
world"""

# 构造方法
str(obj)

转义字符

常用的转义字符有:

字符描述
\a响铃,执行后电脑会有响声
\b退格(Backspace)
\n换行
\v纵向制表符
\t横向制表符
\r回车
\r 后面的内容移到字符串开头,并逐一替换开头部分的字符,直至将 \r 后面的内容完全替换完成。
\f换页
\yyy八进制数,y 代表 0~7 的字符,例如:\012 代表换行
\xyy十六进制数,以 \x 开头,y 代表的字符,例如:\x0a 代表换行
\\反斜杠
\’单引号
\"双引号
\000
\other其它的字符以普通格式输出

若在字符串前加 r,则将字符按原样输出。也可以使用函数 repr(s),其作用相当于在字符串前加 r。

>>> print('I love \nPython')
I love
Python
>>> print(r'I love \nPython')
I love \nPython
>>> print(repr('I love \nPython'))
I love \nPython'

字符串运算符

+:连接两个字符串。

>>> s = 'hello ' + 'world'
>>> s
'hello world'

*:重复输出字符串。

>>> s = 'hello ' * 3
>>> s
'hello hello hello '

in:成员运算符,如果字符串中包含给定的字符返回 True。

>>> s = 'python'
>>> 'py' in s
True
>>> 'Py' in s
False

前缀

在字符串字面值(即用引号括起来的部分)前加上前缀会有特殊功能。

前缀描述
r输出原始字符,即不转义。
repr(s) 函数效果相同。
f格式化,相当于 s.format(*args, **kwargs)。
见本文 方法 ->格式化
b转换为字节。

示例:

>>> print(r'py\nthon3')
py\nthon3
>>> print(f'python{1+2}')
python3
>>> print(b'python3')
b'python3'
>>> print(repr('py\nthon3'))
'py\nthon3'
>>> print('python{}'.format(1+2))
python3

访问

获取整个字符串。

s = 'helloworld'
print(s)

切片

 ┌───┬───┬───┬───┬───┬───┐
 │ P │ y │ t │ h │ o │ n │
 └───┴───┴───┴───┴───┴───┘
 0   1   2   3   4   5   6
-6  -5  -4  -3  -2  -1

第一行数字是字符串中索引 0…6 的位置,第二行数字是对应的负数索引位置。

索引 i 指向的是 i 右边的字符。

ij 的切片由 ij 之间所有对应的字符组成。在切片中,i 默认为 0,j 默认为字符串末尾。

示例:

>>> s = 'Python'
>>> s[0], s[-1]
('P', 'n')
>>> s[1:-2]
'yth'
>>> s[:]
'Python'

方法

搜索子字符串

s.count(sub[, start[, end]])

返回从 startend 之间与 sub 不重叠的匹配项数目。

s.find(sub[, start[, end]])

返回子字符串 subs[start:end] 切片内被找到的最小索引。如未找到则返回 -1。

s.index(sub[, start[, end]])

s.find 类似,但如果没有找到,会抛出 ValueError 错误。

s.rfind(sub[, start[, end]])

s.rindex(sub[, start[, end]])

s.rfind 类似,但如果没有找到,会抛出 ValueError 错误。

构建相关字符串

s.replace(old, new[, count])

返回字符串的副本,其中出现的所有子字符串 old 都将被替换为 new。 如果给出了可选参数 count,则只替换前 count 次出现。

s.capitalize()

返回原字符串的副本,其首个字符大写,其余为小写。

s.upper()

返回原字符串的副本,其中所有区分大小写的字符均转换为大写。

s.lower()

返回原字符串的副本,其所有区分大小写的字符均转换为小写。

s.center(width)

返回长度为 width 的字符串,原字符串在其正中。 使用指定的 fillchar 填充两边的空位(默认使用 ASCII 空格符)。 如果 width 小于等于 len(s) 则返回原字符串的副本。

s.ljust(width)

s.center 类似,但是是使原字符串在其中靠左对齐。

s.rjust(width)

s.center 类似,但是是使原字符串在其中靠右对齐。

s.zfill(width)

返回原字符串的副本,在左边填充 ASCII '0' 数码使其长度变为 width。 正负值前缀 ('+'/'-') 的处理方式是在正负符号 之后 填充而非在之前。 如果 width 小于等于 len(s) 则返回原字符串的副本。

s.strip([chars])

返回原字符串的副本,移除其中的前导和末尾字符。 chars 参数为指定要移除字符的字符串。 如果省略或为 None,则 chars 参数默认移除空白符。 实际上 chars 参数并非指定单个前缀或后缀;而是会移除参数值的所有组合

s.lstrip([chars])

s.strip 类似,不过只移除其中的前导字符。

s.rstrip([chars])

s.strip 类似,不过只移除其中的末尾字符。

测试布尔条件

s.startswith(prefix[, start[, end]])

如果字符串以指定的 prefix 开始则返回 True,否则返回 False。 prefix 也可以为由多个供查找的前缀构成的元组。

s.endswith(suffix[, start[, end]])

如果字符串以指定的 suffix 结束返回 True,否则返回 False。 suffix 也可以为由多个供查找的后缀构成的元组。

s.isspace()

如果字符串中只有空白字符且至少有一个字符则返回 True,否则返回 False 。

s.isalpha()

如果字符串中的所有字符都是字母,并且至少有一个字符,返回 True ,否则返回 False 。

s.isdigit()

如果字符串中的所有字符都是数字,并且至少有一个字符,返回 True ,否则返回 False 。

s.isalnum()

如果字符串中的所有字符都是字母或数字且至少有一个字符,则返回 True, 否则返回 False 。 如果 c.isalpha()c.isdecimal()c.isdigit() ,或 c.isnumeric() 之中有一个返回 True ,则字符c是字母或数字。

s.islower()

如果字符串中至少有一个区分大小写的字符且此类字符均为小写则返回 True,否则返回 False。

s.isupper()

如果字符串中至少有一个区分大小写的字符且此类字符均为大写则返回 True,否则返回False。

s.istitle()

如果字符串中至少有一个字符且为标题字符串则返回 True,例如大写字符之后只能带非大写字符而小写字符必须有大写字符打头。 否则返回 False。

s.isidentifier()

如果字符串是有效的标识符,返回 True,否则返回 False。

拆分和连接字符串

s.join(iterable)

返回一个由 iterable 中的字符串拼接而成的字符串。 如果 iterable 中存在任何非字符串值包括 bytes 对象则会引发 TypeError。 调用该方法的字符串将作为元素之间的分隔。

s.split(sep[, count])

返回一个由字符串内单词组成的列表,使用 sep 作为分隔字符串。 如果给出了 maxsplit,则最多进行 maxsplit 次拆分(因此,列表最多会有 maxsplit + 1 个元素)。 如果 maxsplit 未指定或为 -1,则不限制拆分次数(进行所有可能的拆分)。

s.rsplit(sep[, count])

类似 s.split,不过从右边开始拆分。

s.splitlines()

返回由原字符串中各行组成的列表,在行边界的位置拆分。

s.partition(sep)

sep 首次出现的位置拆分字符串,返回一个 3 元组,其中包含分隔符之前的部分、分隔符本身,以及分隔符之后的部分。 如果分隔符未找到,则返回的 3 元组中包含字符本身以及两个空字符串。

s.rpartition(sep)

类似 s.partition,不过从右边开始拆分。

格式化

调用此方法的字符串可以包含字符串字面值或者以花括号 {} 括起来的替换域。 每个替换域可以包含一个位置参数的数字索引,或者一个关键字参数的名称。 返回的字符串副本中每个替换域都会被替换为对应参数的字符串值。

格式化方法结构:

s.format(arg0, arg1, ...)

**1、**按顺序

>>> '{} is a {}.'.format('Python', 'language')
'Python is a language.'

**2、**编号

>>> "{0}, {0}, {0}, I'm {1}.".format('hello', 'yeanky')
"hello, hello, hello, I'm yeanky."

**3、**关键字

>>> "I'm {name}. I'm {age} years old.".format(name='yeanky', age='14')
"I'm yeanky. I'm 14 years old."

格式控制信息

format()方法中<模板字符串>的槽除了包括参数序号,还可以包括格式控制信息。此时,槽的内部样式如下:

{<参数序号或名称>: <格式控制标记>}

其中,<格式控制标记>用来控制参数显示时的格式,包括:**<填充><对齐><宽度>,<.精度><类型>**6 个字段,这些字段都是可选的,可以组合使用。

<填充>

指 <宽度> 内除了参数外的字符采用什么方式表示,默认采用空格,可以通过 <填充> 更换。

<对齐>

指参数在 <宽度> 内输出时的对齐方式,分别使用 <>^ 三个符号表示左对齐、右对齐和居中对齐。

<宽度>

指当前槽的设定输出字符宽度,如果该槽对应的 format() 参数长度比<宽度>设定值大,则使用参数实际长度。如果该值的实际位数小于指定宽度,则位数将被默认以空格字符补充。

<逗号>

用于显示数字的千位分隔符。

<.精度>

表示两个含义,由小数点(.)开头。对于浮点数,精度表示小数部分输出的有效位数。对于字符串,精度表示输出的最大长度。

<类型>

表示输出整数和浮点数类型的格式规则。对于整数类型,输出格式包括6 种:

  • b:输出整数的二进制方式;
  • c:输出整数对应的 Unicode 字符;
  • d:输出整数的十进制方式;
  • o:输出整数的八进制方式;
  • x:输出整数的小写十六进制方式;
  • X:输出整数的大写十六进制方式;

对于浮点数类型,输出格式包括4 种:

  • e:输出浮点数对应的小写字母 e 的指数形式;

  • E:输出浮点数对应的大写字母 E 的指数形式;

  • f:输出浮点数的标准浮点形式;

  • %:输出浮点数的百分形式。

示例

>>> s = 123.456
>>> '{0:.2}, {0:*>10.1}, {0:,%}'.format(s)
'1.2e+02, *****1e+02, 12,345.600000%'

— End —

感谢阅读!
原创不易,期待你的点赞、收藏与关注

本文收录于专栏 Python 从0到1
关注作者,互助交流,学习更多 Python 知识!

https://blog.csdn.net/weixin_48448842


推荐阅读

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-08-21 15:19:48  更:2021-08-21 15:21:20 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 10:19:00-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码