【Python从0到1】字符串 str 类最全详解!小白必备,2024年最新字节跳动面试题

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

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



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

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

如果你需要这些资料,可以添加V获取:vip1024c (备注Python)
img

正文

| \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 之间与 _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,不过从右边开始拆分。

格式化

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

格式化方法结构:

在这里插入图片描述

感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的:

① 2000多本Python电子书(主流和经典的书籍应该都有了)

② Python标准库资料(最全中文版)

③ 项目源码(四五十个有趣且经典的练手项目及源码)

④ Python基础入门、爬虫、web开发、大数据分析方面的视频(适合小白学习)

⑤ Python学习路线图(告别不入流的学习)

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip1024c (备注python)
img

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3poaWd1aWd1,size_16,color_FFFFFF,t_70)

感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的:

① 2000多本Python电子书(主流和经典的书籍应该都有了)

② Python标准库资料(最全中文版)

③ 项目源码(四五十个有趣且经典的练手项目及源码)

④ Python基础入门、爬虫、web开发、大数据分析方面的视频(适合小白学习)

⑤ Python学习路线图(告别不入流的学习)

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip1024c (备注python)
[外链图片转存中…(img-tHbEfMHw-1713427163081)]

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值