应届毕业生凭什么企业会给他20K的薪资?他的字符串笔记数十万字

目录

  • 字符串操作
  • 字符串运算符
  • 字符串内置函数
  • 字符串索引
  • 字符串切片
  • 在字符串切片过程中指定步幅
  • 向字符串中插入变量
  • 修改字符串
  • 字符串内置方法
  • bytes对象
  • 定义bytes对象字面量
  • 使用内置bytes()函数定义一个bytes对象
  • bytes对象上的操作
  • bytearray对象
  • 结论
  • 进群:125240963  即可获取数十套PDF或者零基础入门资料!

应届毕业生凭什么企业会给他20K的薪资?他的字符串笔记数十万字

应届毕业生凭什么企业会给他20K的薪资?他的字符串笔记数十万字

*运算符

* 运算符创建字符串的多个副本。如果s是一个字符串,n是一个整数,下面任何一种表达式都可以返回一个由n个s的副本所连接而成的字符串:

s * n

n * s

以下是两种形式的示例:

应届毕业生凭什么企业会给他20K的薪资?他的字符串笔记数十万字

乘数操作数n必须是一个整数。你也许会认为它必须是一个正整数,但有趣的是,它可以是0或者负数,在这种情况下结果为空字符串。

应届毕业生凭什么企业会给他20K的薪资?他的字符串笔记数十万字

如果你要创建一个字符串并通过 "foo" * -8 为其赋值将其初始化成为一个空字符串,所有人都会认为你有点蠢。不过这样做确实是有效的。

应届毕业生凭什么企业会给他20K的薪资?他的字符串笔记数十万字

正如您在Python中的基本数据类型教程中所看到的一样,Python提供了许多内置于解释器并始终可用的函数。下面是一些可以作用于字符串的函数

应届毕业生凭什么企业会给他20K的薪资?他的字符串笔记数十万字

Unicode是一个雄心勃勃的标准,它试图在每个可能的平台上,对各种可能的语言,为每个可能的字符提供数字编码。 Python 3广泛支持Unicode,包括允许字符串中使用Unicode字符。

应届毕业生凭什么企业会给他20K的薪资?他的字符串笔记数十万字

str(obj)

返回一个对象的字符串表示

事实上,Python中的任何对象都可以呈现为字符串。 str(obj)返回对象obj的字符串表示形式:

应届毕业生凭什么企业会给他20K的薪资?他的字符串笔记数十万字

可以通过索引访问各个字符,如下所示:

应届毕业生凭什么企业会给他20K的薪资?他的字符串笔记数十万字

尝试超出字符串末尾的索引会导致错误

应届毕业生凭什么企业会给他20K的薪资?他的字符串笔记数十万字

字符串索引也可以用负数指定,在这种情况下,索引在字符串中由后向前开始:-1指向最后一个字符,-2指向倒数第二个字符,依此类推。以下是显示字符串中正负索引的相同图表"foobar":

应届毕业生凭什么企业会给他20K的薪资?他的字符串笔记数十万字

正数和负数索引

下面是一些负数索引的例子:

应届毕业生凭什么企业会给他20K的薪资?他的字符串笔记数十万字

尝试使用超出字符串开头的负数进行索引会导致错误

应届毕业生凭什么企业会给他20K的薪资?他的字符串笔记数十万字

应届毕业生凭什么企业会给他20K的薪资?他的字符串笔记数十万字

对于任何字符串s和任何整数n(0 ≤ n ≤ len(s)),s[:n] + s[n:]将等于s:

应届毕业生凭什么企业会给他20K的薪资?他的字符串笔记数十万字

省略两个索引将完整地返回原始字符串。然而它不是原始字符串的副本,它是对原始字符串的引用:

应届毕业生凭什么企业会给他20K的薪资?他的字符串笔记数十万字

如果切片中的第一个索引大于或等于第二个索引,则Python返回一个空字符串。如果你正在寻找一种另类的生成空字符串的方式,那么这是一种方法

应届毕业生凭什么企业会给他20K的薪资?他的字符串笔记数十万字

负数索引也可以与切片一起使用。-1表示最后一个字符,-2倒数第二个,依此类推,就像基本的索引一样。下图显示了如何使用正数索引和负数索引从字符串"foobar"中切割子字符串"oob":

应届毕业生凭什么企业会给他20K的薪资?他的字符串笔记数十万字

正负索引在字符串切片中的使用

下面是对应的Python代码

应届毕业生凭什么企业会给他20K的薪资?他的字符串笔记数十万字

在字符串切片过程中指定步幅

还有一种切片语法的变形可以进行介绍。再添加一个参数:第三个参数指明步幅(也叫做步长),表明在切片中检索字符时每次跳过多少个字符。

例如,对于字符串"foobar",切片0:6:2以第一个字符开头,以最后一个字符(整个字符串)结束,并且每次跳过第二个字符。如下图所示:

应届毕业生凭什么企业会给他20K的薪资?他的字符串笔记数十万字

带有步幅的字符串索引

类似的,1:6:2指定以第二个字符(索引1)开头并以最后一个字符结束的切片,并且步幅值再次为2导致每次都有一个字符被跳过:

应届毕业生凭什么企业会给他20K的薪资?他的字符串笔记数十万字

一个带有步幅的字符串索引

说明的REPL代码如下:

应届毕业生凭什么企业会给他20K的薪资?他的字符串笔记数十万字

对于任何切片,可以省略第一个和第二个索引,并分别认为第一个和最后一个字符:

应届毕业生凭什么企业会给他20K的薪资?他的字符串笔记数十万字

您也可以指定负数步幅值,在这种情况下,Python会从后向前逐步处理字符串。在这种情况下,起始/第一个索引应该大于结束/第二个索引:

应届毕业生凭什么企业会给他20K的薪资?他的字符串笔记数十万字

在上面的示例中,5:0:-2表示“从最后一个字符开始,每次后退2步,直到(但不包括)第一个字符”。

当您后退时,如果省略第一个和第二个索引,则以直观的方式反转认值:第一个索引认为字符串的结尾,第二个索引认为开头。下面是一个例子:

应届毕业生凭什么企业会给他20K的薪资?他的字符串笔记数十万字

下面是反转字符串的常见范例:

应届毕业生凭什么企业会给他20K的薪资?他的字符串笔记数十万字

应届毕业生凭什么企业会给他20K的薪资?他的字符串笔记数十万字

应届毕业生凭什么企业会给他20K的薪资?他的字符串笔记数十万字

Python的三种引用机制中的任何一种都可用于定义f-string

应届毕业生凭什么企业会给他20K的薪资?他的字符串笔记数十万字

修改字符串

简而言之,你做不到。字符串是Python认为不可变的数据类型之一,意味着无法更改。实际上,到目前为止您看到的所有数据类型都是不可变的。(Python确实提供了可变的数据类型,您很快就会看到。)

应届毕业生凭什么企业会给他20K的薪资?他的字符串笔记数十万字

在对象上调用方法的语法如下:

应届毕业生凭什么企业会给他20K的薪资?他的字符串笔记数十万字

这将调用对象obj上的方法.foo()。指定传递给方法的参数(如果有)。

稍后在面向对象编程的讨论中,您将探索有关定义和调用方法的更多信息。目前,我们的目标是介绍Python支持的一些常用的用于对字符串对象进行操作的内置方法

在以下方法定义中,方括号([])中指定的参数是可选的。

大小写转换

本组方法对目标字符串执行大小写转换。

s.capitalize()

目标字符串首字母大写

s.capitalize()返回一个s的副本,第一个字符转换为大写,所有其他字符转换为小写:

应届毕业生凭什么企业会给他20K的薪资?他的字符串笔记数十万字

非字母字符不变:

应届毕业生凭什么企业会给他20K的薪资?他的字符串笔记数十万字

s.lower()

将字母字符转换为小写

s.lower()返回s中所有字母字符转换为小写的副本:

应届毕业生凭什么企业会给他20K的薪资?他的字符串笔记数十万字

s.swapcase()

转换字母字符大小写

s.swapcase()返回一个s中大写字母字符转换为小写,小写字母转化为大写的副本:

应届毕业生凭什么企业会给他20K的薪资?他的字符串笔记数十万字

s.title()

将目标字符串转化为单词首字母大写

s.title()返回s的一个副本,其中每个单词的第一个字母转换为大写,其余字母为小写:

应届毕业生凭什么企业会给他20K的薪资?他的字符串笔记数十万字

方法使用相当简单的算法。它并不试图区分重要和不重要的单词,而且它不能优雅地处理撇号,所有格或首字母缩略词:

应届毕业生凭什么企业会给他20K的薪资?他的字符串笔记数十万字

s.upper()

将字母字符转化为大写

s.upper()返回s中所有字母字符转换为大写的副本:

应届毕业生凭什么企业会给他20K的薪资?他的字符串笔记数十万字

查找和替换

这些方法提供了在目标字符串中搜索指定子字符串的各种方式。

该组中的每个方法支持可选的参数。这些参数在字符串切片时被解释:方法的操作仅限于目标字符串中从位置字符开始到(不包括位置字符的部分。如果被指定了但没有,则该方法应用于目标字符串中从开始直到字符串的末尾的部分。

s.count([,[,]])

计算目标字符串中子字符串的出现次数

s.count()返回字符串s中非重叠子串出现的次数

应届毕业生凭什么企业会给他20K的薪资?他的字符串笔记数十万字

计数被限制在由所指定的子串内,如果参数被设定的话:

应届毕业生凭什么企业会给他20K的薪资?他的字符串笔记数十万字

s.endswith([,]])

判断目标字符串是否以给定子字符串结尾

如果s以指定的结尾,s.endswith()返回True,否则返回False:

应届毕业生凭什么企业会给他20K的薪资?他的字符串笔记数十万字

判断被限制在由所指定的子串内,如果参数被设定的话:

s.find([,]]

在目标字符串中搜索给定的子字符串

s.find()返回在s中找到子字符串的最小索引:

应届毕业生凭什么企业会给他20K的薪资?他的字符串笔记数十万字

如果指定的子串没有找到,该方法返回-1:

应届毕业生凭什么企业会给他20K的薪资?他的字符串笔记数十万字

检索被限制在由所指定的子串内,如果参数被设定的话:

应届毕业生凭什么企业会给他20K的薪资?他的字符串笔记数十万字

s.index([,]])

在目标字符串中搜索给定的子字符串

这个方法与.find()功能相同,只是在查找不到时会产生一个异常而非返回-1:

应届毕业生凭什么企业会给他20K的薪资?他的字符串笔记数十万字

s.rfind([,]])

从末尾开始搜索目标字符串中的给定子字符串

s.rfind()返回在s中找到子字符串的最大索引:

应届毕业生凭什么企业会给他20K的薪资?他的字符串笔记数十万字

和.find()一样,如果指定的子串没有找到,该方法返回-1:

应届毕业生凭什么企业会给他20K的薪资?他的字符串笔记数十万字

检索被限制在由所指定的子串内,如果参数被设定的话:

应届毕业生凭什么企业会给他20K的薪资?他的字符串笔记数十万字

s.rindex([,]])

从末尾开始搜索目标字符串中的给定子字符串

这个方法与.rfind()功能相同,只是在查找不到时会产生一个异常而非返回-1:

应届毕业生凭什么企业会给他20K的薪资?他的字符串笔记数十万字

s.startswith([,]])

判断目标字符串是否以给定子字符串开头

如果s以指定的开头,s.startswith()返回True,否则返回False:

应届毕业生凭什么企业会给他20K的薪资?他的字符串笔记数十万字

判断被限制在由所指定的子串内,如果参数被设定的话:

应届毕业生凭什么企业会给他20K的薪资?他的字符串笔记数十万字

字符分类

此组方法根据字符串包含的字符对字符串进行分类

s.isalnum()

确定目标字符串是否由字母数字字符组成

如果s是非空的且其所有字符都是字母或数字,s.isalnum()返回True,否则返回False:

应届毕业生凭什么企业会给他20K的薪资?他的字符串笔记数十万字

s.isalpha()

判断目标字符串是否由字母字符组成

如果s是非空的并且其所有字符都是字母,s.isalpha()返回True,否则返回False:

应届毕业生凭什么企业会给他20K的薪资?他的字符串笔记数十万字

s.isdigit()

判断目标字符串是否由数字字符组成

如果s是非空的并且其所有字符都是数字,s.digit()返回True,否则返回False:

应届毕业生凭什么企业会给他20K的薪资?他的字符串笔记数十万字

s.isidentifier()

判断目标字符串是否是有效的Python标识符

如果s根据语言定义是有效的Python标识符,s.isidentifier()返回True,否则返回False:

应届毕业生凭什么企业会给他20K的薪资?他的字符串笔记数十万字

注意:与Python关键字匹配的字符串.isidentifier()将返回True,即使它实际上不是有效的标识符:

应届毕业生凭什么企业会给他20K的薪资?他的字符串笔记数十万字

您可以调用iskeyword()函数测试字符串是否与Python关键字匹配,该函数包含在名为keyword的模块中。一种可能的方法如下所示:

应届毕业生凭什么企业会给他20K的薪资?他的字符串笔记数十万字

如果你真的想确保一个字符串可以作为一个有效的Python标识符,你应该检查.isidentifier()是否为True以及iskeyword()是否为False。

请参阅 Python Modules and Packages—An Introduction阅读有关python模块的更多信息。

s.islower()

判断目标字符串的字母字符是否为小写

如果s是非空的并且它包含的所有字母字符都是小写的,s.islower()则返回True,否则返回False。忽略非字母字符:

应届毕业生凭什么企业会给他20K的薪资?他的字符串笔记数十万字

s.isprintable()

判断目标字符串是否完全由可打印字符组成

如果s为空或其包含的所有字母字符都是可打印的,s.isprintable()返回True。如果s包含至少一个不可打印的字符,则返回False。忽略非字母字符:

应届毕业生凭什么企业会给他20K的薪资?他的字符串笔记数十万字

应届毕业生凭什么企业会给他20K的薪资?他的字符串笔记数十万字

注意:如果s是空字符串,这是唯一个返回True的.isxxxx()方法。所有其它方法都对空字符串返回False。

未完待续,这人确实很负责。一个字符串的知识点!居然能写出这么全面!你值得这20K的月薪!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


我最近重新拾起了计算机视觉,借助Python的opencv还有face_recognition库写了个简单的图像识别demo,额外定制了一些内容,原本想打包成exe然后发给朋友,不过在这当中遇到了许多小问题,都解决了,记录一下踩过的坑。 1、Pyinstaller打包过程当中出现warning,跟d
说到Pooling,相信学习过CNN的朋友们都不会感到陌生。Pooling在中文当中的意思是“池化”,在神经网络当中非常常见,通常用的比较多的一种是Max Pooling,具体操作如下图: 结合图像理解,相信你也会大概明白其中的本意。不过Pooling并不是只可以选取2x2的窗口大小,即便是3x3,
记得大一学Python的时候,有一个题目是判断一个数是否是复数。当时觉得比较复杂不好写,就琢磨了一个偷懒的好办法,用异常处理的手段便可以大大程度帮助你简短代码(偷懒)。以下是判断整数和复数的两段小代码: 相信看到这里,你也有所顿悟,能拓展出更多有意思的方法~
文章目录 3 直方图Histogramplot1. 基本直方图的绘制 Basic histogram2. 数据分布与密度信息显示 Control rug and density on seaborn histogram3. 带箱形图的直方图 Histogram with a boxplot on t
文章目录 5 小提琴图Violinplot1. 基础小提琴图绘制 Basic violinplot2. 小提琴图样式自定义 Custom seaborn violinplot3. 小提琴图颜色自定义 Control color of seaborn violinplot4. 分组小提琴图 Group
文章目录 4 核密度图Densityplot1. 基础核密度图绘制 Basic density plot2. 核密度图的区间控制 Control bandwidth of density plot3. 多个变量的核密度图绘制 Density plot of several variables4. 边
首先 import tensorflow as tf tf.argmax(tenso,n)函数会返回tensor中参数指定的维度中的最大值的索引或者向量。当tensor为矩阵返回向量,tensor为向量返回索引号。其中n表示具体参数的维度。 以实际例子为说明: import tensorflow a
seaborn学习笔记章节 seaborn是一个基于matplotlib的Python数据可视化库。seaborn是matplotlib的高级封装,可以绘制有吸引力且信息丰富的统计图形。相对于matplotlib,seaborn语法更简洁,两者关系类似于numpy和pandas之间的关系,seabo
Python ConfigParser教程显示了如何使用ConfigParser在Python中使用配置文件。 文章目录 1 介绍1.1 Python ConfigParser读取文件1.2 Python ConfigParser中的节1.3 Python ConfigParser从字符串中读取数据
1. 处理Excel 电子表格笔记(第12章)(代码下载) 本文主要介绍openpyxl 的2.5.12版处理excel电子表格,原书是2.1.4 版,OpenPyXL 团队会经常发布新版本。不过不用担心,新版本应该在相当长的时间内向后兼容。如果你有新版本,想看看它提供了什么新功能,可以查看Open
1. 发送电子邮件和短信笔记(第16章)(代码下载) 1.1 发送电子邮件 简单邮件传输协议(SMTP)是用于发送电子邮件的协议。SMTP 规定电子邮件应该如何格式化、加密、在邮件服务器之间传递,以及在你点击发送后,计算机要处理的所有其他细节。。但是,你并不需要知道这些技术细节,因为Python 的
文章目录 12 绘图实例(4) Drawing example(4)1. Scatterplot with varying point sizes and hues(relplot)2. Scatterplot with categorical variables(swarmplot)3. Scat
文章目录 10 绘图实例(2) Drawing example(2)1. Grouped violinplots with split violins(violinplot)2. Annotated heatmaps(heatmap)3. Hexbin plot with marginal dist
文章目录 9 绘图实例(1) Drawing example(1)1. Anscombe’s quartet(lmplot)2. Color palette choices(barplot)3. Different cubehelix palettes(kdeplot)4. Distribution
Python装饰器教程展示了如何在Python中使用装饰器基本功能。 文章目录 1 使用教程1.1 Python装饰器简单示例1.2 带@符号的Python装饰器1.3 用参数修饰函数1.4 Python装饰器修改数据1.5 Python多层装饰器1.6 Python装饰器计时示例 2 参考 1 使
1. 用GUI 自动化控制键盘和鼠标第18章 (代码下载) pyautogui模块可以向Windows、OS X 和Linux 发送虚拟按键和鼠标点击。根据使用的操作系统,在安装pyautogui之前,可能需要安装一些其他模块。 Windows: 不需要安装其他模块。OS X: sudo pip3
文章目录 生成文件目录结构多图合并找出文件夹中相似图像 生成文件目录结构 生成文件夹或文件的目录结构,并保存结果。可选是否滤除目录,特定文件以及可以设定最大查找文件结构深度。效果如下: root:[z:/] |--a.py |--image | |--cat1.jpg | |--cat2.jpg |
文章目录 VENN DIAGRAM(维恩图)1. 具有2个分组的基本的维恩图 Venn diagram with 2 groups2. 具有3个组的基本维恩图 Venn diagram with 3 groups3. 自定义维恩图 Custom Venn diagram4. 精致的维恩图 Elabo
mxnet60分钟入门Gluon教程代码下载,适合做过深度学习的人使用。入门教程地址: https://beta.mxnet.io/guide/getting-started/crash-course/index.html mxnet安装方法:pip install mxnet 1 在mxnet中使
文章目录 1 安装2 快速入门2.1 基本用法2.2 输出图像格式2.3 图像style设置2.4 属性2.5 子图和聚类 3 实例4 如何进一步使用python graphviz Graphviz是一款能够自动排版的流程图绘图软件。python graphviz则是graphviz的python实