十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
字符串是Python中基本的数据类型,几乎在每个Python程序中都会使用到它。
网站的建设成都创新互联公司专注网站定制,经验丰富,不做模板,主营网站定制开发.小程序定制开发,H5页面制作!给你焕然一新的设计体验!已为砂岩浮雕等企业提供专业服务。
▍1、Slicing
slicing切片,按照一定条件从列表或者元组中取出部分元素(比如特定范围、索引、分割值)
▍2、****strip()
strip()方法用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列。
在使用strip()方法时,默认去除空格或换行符,所以#号并没有去除。
可以给strip()方法添加指定字符,如下所示。
此外当指定内容不在头尾处时,并不会被去除。
第一个\n前有个空格,所以只会去取尾部的换行符。
最后strip()方法的参数是剥离其值的所有组合,这个可以看下面这个案例。
最外层的首字符和尾字符参数值将从字符串中剥离。字符从前端移除,直到到达一个不包含在字符集中的字符串字符为止。
在尾部也会发生类似的动作。
▍3、****lstrip()
移除字符串左侧指定的字符(默认为空格或换行符)或字符序列。
同样的,可以移除左侧所有包含在字符集中的字符串。
▍4、rstrip()
移除字符串右侧指定的字符(默认为空格或换行符)或字符序列。
▍5、****removeprefix()
Python3.9中移除前缀的函数。
和strip()相比,并不会把字符集中的字符串进行逐个匹配。
▍6、removesuffix()
Python3.9中移除后缀的函数。
▍7、****replace()
把字符串中的内容替换成指定的内容。
▍8、****re.sub()
re是正则的表达式,sub是substitute表示替换。
re.sub则是相对复杂点的替换。
和replace()做对比,使用re.sub()进行替换操作,确实更高级点。
▍9、****split()
对字符串做分隔处理,最终的结果是一个列表。
当不指定分隔符时,默认按空格分隔。
此外,还可以指定字符串的分隔次数。
▍10、****rsplit()
从右侧开始对字符串进行分隔。
▍11、****join()
string.join(seq)。以string作为分隔符,将seq中所有的元素(的字符串表示)合并为一个新的字符串。
▍12、****upper()
将字符串中的字母,全部转换为大写。
▍13、****lower()
将字符串中的字母,全部转换为小写。
▍14、capitalize()
将字符串中的首个字母转换为大写。
▍15、****islower()
判断字符串中的所有字母是否都为小写,是则返回True,否则返回False。
▍16、isupper()
判断字符串中的所有字母是否都为大写,是则返回True,否则返回False。
▍17、****isalpha()
如果字符串至少有一个字符并且所有字符都是字母,则返回 True,否则返回 False。
▍18、isnumeric()
如果字符串中只包含数字字符,则返回 True,否则返回 False。
▍19、isalnum()
如果字符串中至少有一个字符并且所有字符都是字母或数字,则返回True,否则返回 False。
▍20、count()
返回指定内容在字符串中出现的次数。
▍21、****find()
检测指定内容是否包含在字符串中,如果是返回开始的索引值,否则返回-1。
此外,还可以指定开始的范围。
▍22、rfind()
类似于find()函数,返回字符串最后一次出现的位置,如果没有匹配项则返回 -1。
▍23、startswith()
检查字符串是否是以指定内容开头,是则返回 True,否则返回 False。
**
**
▍24、****endswith()
检查字符串是否是以指定内容结束,是则返回 True,否则返回 False。
▍25、****partition()
string.partition(str),有点像find()和split()的结合体。
从str出现的第一个位置起,把字符串string分成一个3 元素的元组(string_pre_str,str,string_post_str),如果string中不包含str则 string_pre_str==string。
▍26、center()
返回一个原字符串居中,并使用空格填充至长度width的新字符串。
▍27、ljust()
返回一个原字符串左对齐,并使用空格填充至长度width的新字符串。
▍28、rjust()
返回一个原字符串右对齐,并使用空格填充至长度width的新字符串。
▍29、f-Strings
f-string是格式化字符串的新语法。
与其他格式化方式相比,它们不仅更易读,更简洁,不易出错,而且速度更快!
▍30、swapcase()
翻转字符串中的字母大小写。
▍31、zfill()
string.zfill(width)。
返回长度为width的字符串,原字符串string右对齐,前面填充0。
参考文献:
python支持返回多个返回值,所以你可以考虑返回两个值来解决。
参考代码和如何调用示例如下:
一、函数的定义
函数是指将一组语句的集合通过一个名字(函数名)封装起来,想要执行这个函数,只需要调用函数名即可
特性:
减少重复代码
使程序变得可扩展
使程序变得易维护
二、函数的参数
2.1、形参和实参数
形参,调用时才会存在的值
实惨,实际存在的值
2.2、默认参数
定义:当不输入参数值会有一个默认的值,默认参数要放到最后
2.3、 关键参数
定义: 正常情况下,给函数传参数要安装顺序,不想按顺序可以用关键参数,只需要指定参数名即可,(指定了参数名的就叫关键参数),但是要求是关键参数必须放在位置参数(以位置顺序确定对应的参数)之后
2.4、非固定参数
定义: 如你的函数在传入参数时不确定需要传入多少个参数,就可以使用非固定参数
# 通过元组形式传递
# 通过列表形式传递
# 字典形式(通过k,value的方式传递)
# 通过变量的方式传递
三、函数的返回值
作用:
返回函数执行结果,如果没有设置,默认返回None
终止函数运行,函数遇到return终止函数
四、变量的作用域
全局变量和局部变量
在函数中定义的变量叫局部变量,在程序中一开始定义的变量叫全局变量
全局变量作用域整个程序,局部变量作用域是定义该变量的函数
当全局变量与局部变量同名是,在定义局部变量的函数内,局部变量起作用,其他地方全局变量起作用
同级的局部变量不能互相调用
想要函数里边的变量设置成全局变量,可用global进行设置
五、特殊函数
5.1、嵌套函数
定义: 嵌套函数顾名思义就是在函数里边再嵌套一层函数
提示 在嵌套函数里边调用变量是从里往外依次调用,意思就是如果需要调用的变量在当前层没有就会去外层去调用,依次内推
匿名函数
基于Lambda定义的函数格式为: lambda 参数:函数体
参数,支持任意参数。
匿名函数适用于简单的业务处理,可以快速并简单的创建函数。
# 与三元运算结合
5.3、高阶函数
定义:变量可以指向函数,函数的参数可以接收变量,那么一个函数就可以接收另一个函数作为参数,这种函数称之为高阶函数 只需要满足一下任意一个条件,即是高阶函数
接收一个或多个函数作为输入
return返回另一个函数
5.4、递归函数
定义:一个函数可以调用其他函数,如果一个函数调用自己本身,这个函数就称为递归函数
在默认情况下Python最多能递归1000次,(这样设计师是为了防止被内存被撑死)可以通过sys.setrecursionlimit(1500)进行修改
递归实现过程是先一层一层的进,然后在一层一层的出来
必须有一个明确的条件结束,要不然就是一个死循环了
每次进入更深层次,问题规模都应该有所减少
递归执行效率不高,递归层次过多会导致站溢出
# 计算4的阶乘 4x3x2x1
# 打印数字从1-100
5.5、闭包现象
定义:内层函数调用外层函数的变量,并且内存函数被返回到外边去了
闭包的意义:返回的函数对象,不仅仅是一个函数对象,在该函数外还包裹了一层作用域,这使得,该函数无论在何处调用,优先使用自己外层包裹的作用域
python的函数不返回变量在函数中不会经过处理。根据查询相关公开信息python的函数因为不返回,所以并不使用,不使用的函数处理会浪费内存,为了节省内存,就不会处理。Python由荷兰数学和计算机科学研究学会的吉多·范罗苏姆于1990年代初设计,作为一门叫做ABC语言的替代品。Python提供了高效的高级数据结构,还能简单有效地面向对象编程。Python语法和动态类型,以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的编程语言,随着版本的不断更新和语言新功能的添加,逐渐被用于独立的、大型项目的开发。
高阶函数就是能够把函数当成参数传递的函数就是高阶函数,换句话说如果一个函数的参数是函数,那么这个函数就是一个高阶函数。
高阶函数可以是你使用 def 关键字自定义的函数,也有Python系统自带的内置高阶函数。
我们下面的例子中,函数 senior 的参数中有一个是函数,那么senior就是一个高阶函数;函数 tenfold 的参数不是函数,所以tenfold就只是一个普通的函数。
function:函数,可以是 自定义函数 或者是 内置函数;
iterable:可迭代对象,可迭代性数据。(容器类型数据和类容器类型数据、range对象、迭代器)
把可迭代对象中的数据一个一个拿出来,然后放在到指定的函数中做处理,将处理之后的结果依次放入迭代器中,最后返回这个迭代器。
将列表中的元素转成整型类型,然后返回出来。
列表中的每一个数依次乘 2的下标索引+1 次方。使用自定义的函数,配合实现功能。
参数的意义和map函数一样
filter用于过滤数据,将可迭代对象中的数据一个一个的放入函数中进行处理,如果函数返回值为真,将数据保留;反之不保留,最好返回迭代器。
保留容器中的偶数
参数含义与map、filter一致。
计算数据,将可迭代对象的中的前两个值放在函数中做出运算,得出结果在和第三个值放在函数中运算得出结果,以此类推,直到所有的结果运算完毕,返回最终的结果。
根据功能我们就应该直到,reduce中的函数需要可以接收两个参数才可以。
将列表中的数据元素组合成为一个数,
iterable:可迭代对象;
key:指定函数,默认为空;
reverse:排序的方法,默认为False,意为升序;
如果没有指定函数,就单纯的将数据安札ASCII进行排序;如果指定了函数,就将数据放入函数中进行运算,根据数据的结果进行排序,返回新的数据,不会改变原有的数据。
注意,如果指定了函数,排序之后是根据数据的结果对原数据进行排序,而不是排序计算之后的就结果数据。
将列表中的数据进行排序。
还有一点就是 sorted 函数可以将数据放入函数中进行处理,然后根据结果进行排序。
既然有了列表的内置函数sort,为什么我们还要使用sorted函数呢?
高阶函数就是将函数作为参数的函数。
文章来自