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

本文详细介绍了Python中字符串的各种操作,如repr函数、格式化、切片、子串搜索、字符串格式控制,以及布尔条件判断、拆分和连接等方法,为Python开发者提供实用技巧。
摘要由CSDN通过智能技术生成

| :-- | :-- |

| 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 之间与 _s_ub 不重叠的匹配项数目。

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 的指数形式;
    自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Python开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

img

img

img

img

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注:Python)

简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。**

[外链图片转存中…(img-MHmmAUZ3-1713719168179)]

[外链图片转存中…(img-5482x8JJ-1713719168181)]

[外链图片转存中…(img-YKw4sC41-1713719168181)]

[外链图片转存中…(img-ibaX9SVZ-1713719168182)]

img

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注:Python)

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值