python基础-python的字符串内建函数

python基础-字符串内建函数

前言

上一期讲了python的字符串的一些基础的使用.这期将说一下python字符串常用的一些函数


## Python 的字符串内建函数

常用的函数

.center() ; .count() ; .endswith() ; .startswith() ; .strip() ; .replace() ; .max() ; .min() ; .join() ; .split()

1.center()

center(width, fillchar),返回一个指定的宽度 width 居中的字符串,fillchar 为填充的字符,默认为空格。

# TODO 欢迎进入系统在50个字符中间,两端不够50个字符的,用#填充
print('欢迎进入系统'.center(50,'#'))

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZVmNFCzf-1664814603671)(C:\Users\HYX\AppData\Roaming\Typora\typora-user-images\image-20221003205249906.png)]

在写一些文字系统的练习项目的时候,有时候用得上

2.count()

count(str, beg= 0,end=len(string)),返回 str 在 string 里面出现的次数,如果 beg 或者 end 指定则返回指定范围内 str 出现的次数

# 查询 password 变量中的a字符的个数
password = "abcssafassf"
print('重复次数有',password.count('a'),'次')

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bJ73kctJ-1664814603672)(C:\Users\HYX\AppData\Roaming\Typora\typora-user-images\image-20221003211900346.png)]

在进行一些简单的查重的时候,可以使用

3.endswith()

endswith(suffix, beg=0, end=len(string)),检查字符串是否以 suffix结束,如果beg 或者 end 指定则检查指定的范围内是否以 suffix结束,如果是,返回 True,否则返回 False.

# 判断是否是com结尾
address = '[email protected]'
if address.endswith('com'):
    print('他是com结尾的字符串')
    if address.endswith('@qq',0,12):
        print('为qq邮箱')

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NEvzM1cf-1664814603673)(C:\Users\HYX\AppData\Roaming\Typora\typora-user-images\image-20221003213739769.png)]

4.startswith()

startswith(substr, beg=0,end=len(string)),检查字符串是否是以指定子字符串 substr 开头,是则返回 True,否则返回 False。如果beg 和 end 指定值,则在指定范围内检查。

用法和endswith一样.下面介绍一种扩展方法,两种方法同样适用噢

# 当字符串中开头是符合列表中的任何一个时返回True,否则是False
XING = ['王', '李', '张', '刘', '陈', '杨', '黄', '吴', '赵', '周', '徐', '孙', '马', '朱', '胡', '林', '郭', '何', '高', '罗', '郑', '梁', '谢', '宋', '唐', '许', '邓', '冯', '韩', '曹', '曾', '彭', '萧', '蔡', '潘', '田', '董', '袁', '于', '余', '叶', '蒋', '杜', '苏', '魏', '程', '吕', '丁', '沈', '任', '姚', '卢', '傅', '钟', '姜', '崔', '谭', '廖', '范', '汪', '陆', '金', '石', '戴', '贾', '韦', '夏', '邱', '方', '侯', '邹', '熊', '孟', '秦', '白', '江', '阎', '薛', '尹', '段', '雷', '黎', '史', '龙', '陶', '贺', '顾', '毛', '郝', '龚', '邵', '万', '钱', '严', '赖', '覃', '洪', '武', '莫', '孔']
name = input('输入一个名字:')
print(name.startswith(tuple(XING)))
if name.startswith(tuple(XING)):
    print('是个名字')

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nYDCZZzx-1664814603673)(C:\Users\HYX\AppData\Roaming\Typora\typora-user-images\image-20221003222144704.png)]


[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-B4AuwEBB-1664814603673)(C:\Users\HYX\AppData\Roaming\Typora\typora-user-images\image-20221003222206522.png)]

5.strip()

strip([chars])删除字符串两端的空格或指定字符

# 当遇到字符串两边有一些不想要的字符时
str1 = '   2022-10-03      '
print(f"{
      
      str1}结尾")
print(f"{
      
      str1.strip()}结尾")
str2 = '...123123321...'
print(f"{
      
      str2}结尾")
print(f"{
      
      str2.strip('.')}结尾")

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tn7bb0O6-1664814603674)(C:\Users\HYX\AppData\Roaming\Typora\typora-user-images\image-20221003224237737.png)]

6.replace()

replace(old, new [, max]),把 将字符串中的 old 替换成 new,如果 max 指定,则替换不超过 max 次。

# 替换字符串中的字符
url = 'https://www.baidu.net'
url = url.replace('net','com')
print(url)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gD4ByFCu-1664814603674)(C:\Users\HYX\AppData\Roaming\Typora\typora-user-images\image-20221003225208529.png)]

7.max();min()

max(str);返回字符串 str 中最大的字母。

min(str) 返回字符串 str 中最小的字母。

# 计算最大的字符串
num_str = '123456789'
str1 = 'abcdefghijk'
print('最大的数字字符',max(num_str))
print('最小的数字字符',min(num_str))
print('最大的字符串字符',max(str1))
print('最小的字符串字符',min(str1))

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DFTTMHGC-1664814603674)(C:\Users\HYX\AppData\Roaming\Typora\typora-user-images\image-20221003230858357.png)]

8.join() ; split()

join(seq),以指定字符串作为分隔符,将 seq 中所有的元素(的字符串表示)合并为一个新的字符串

split(str=“”,num=string.count(str)),以 str 为分隔符截取字符串,如果 num 有指定值,则仅截取 num+1 个子字符串

简单来说呢,就是join函数可以把列表转为字符串,split函数又可以将字符串用符号转为列表

text = 'a,b,c,d,e,g,tg,ds,h,as'
text_list = text.split(',')
print("这是text_list:",text_list)
strings = '/'.join(text_list)
print("这是strings:",strings)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Fi2tJTXw-1664814603675)(C:\Users\HYX\AppData\Roaming\Typora\typora-user-images\image-20221003234518281.png)]

非常用函数

capitalize() ; expandtabs() ; find() ; index() ; upper() ; title() …

1.capitalize() ; title()

capitalize() ; 将字符串的第一个字符转换为大写

title() ; 返回"标题化"的字符串,就是说所有单词都是以大写开始,其余字母均为小写(见 istitle())

2.find() ; index()

find() ;检测 str 是否包含在字符串中,如果指定范围 beg 和 end ,则检查是否包含在指定范围内,如果包含返回开始的索引值,否则返回-1

index() ;跟find()方法一样,只不过如果str不在字符串中会报一个异常。

3.upper()

upper() ; 转换字符串中的小写字母为大写

总结

这期的内容,介绍了处理字符串常用的方法.至于不常用的还有很多哇,大家可以另行了解一下,对于我来讲,我觉得掌握常用的那些函数,就以及够用了.

nd()方法一样,只不过如果str不在字符串中会报一个异常。

3.upper()

upper() ; 转换字符串中的小写字母为大写

总结

这期的内容,介绍了处理字符串常用的方法.至于不常用的还有很多哇,大家可以另行了解一下,对于我来讲,我觉得掌握常用的那些函数,就以及够用了.

还是那句话.公众号:小磊秒秒屋,遇到什么难题也可以问问,本人比较擅长领域是flask,以及python爬虫

猜你喜欢

转载自blog.csdn.net/qq_64047342/article/details/127158245