做公众号的必备参考网站网站推广优化服务
news/
2025/9/28 11:10:35/
文章来源:
做公众号的必备参考网站,网站推广优化服务,织梦网站数据下载,画册设计要求好代码本身就是最好的文档。当你需要添加一个注释时#xff0c;你应该考虑如何修改代码才能不需要注释。—— Steve McConnell目录字符串有很多操作函数#xff0c;所以#xff0c;这里我们专门用一节来介绍这些函数。建议#xff1a;由于字符串函数较多#xff0c;对于新…好代码本身就是最好的文档。当你需要添加一个注释时你应该考虑如何修改代码才能不需要注释。—— Steve McConnell目录字符串有很多操作函数所以这里我们专门用一节来介绍这些函数。建议由于字符串函数较多对于新手来说不必要一开就掌握所有的函数用法可以先粗略的看一遍有个大概印象到真正用的着的时候再来详细查看也可。用的次数多了自然就记住了。我们可以通过dir() 函数来查看一个对象支持的方法和属性有哪些通过help() 函数查看某个方法的详情。注意1对象的概念会在后续章节详细介绍2这里我们无需过多的区分函数与方法的不同暂时可以认为函数与方法相同示例s abc # s 是一个字符串 dir(s) # 查看字符串支持的方法[__add__, __class__, __contains__,__delattr__, __dir__, __doc__,__eq__, __format__, __ge__,__getattribute__, __getitem__,__getnewargs__, __gt__, __hash__,__init__, __init_subclass__, __iter__,__le__, __len__, __lt__, __mod__,__mul__, __ne__, __new__, __reduce__,__reduce_ex__, __repr__, __rmod__,__rmul__, __setattr__, __sizeof__,__str__, __subclasshook__,capitalize, casefold, center,count, encode, endswith, expandtabs,find, format, format_map, index,isalnum, isalpha, isdecimal, isdigit,isidentifier, islower, isnumeric,isprintable, isspace, istitle, isupper,join, ljust, lower, lstrip, maketrans,partition, replace, rfind, rindex,rjust, rpartition, rsplit, rstrip,split, splitlines, startswith, strip,swapcase, title, translate, upper, zfill] help(s.find) # 查看字符串的find 方法详情Help on built-in function find:find(...) method of builtins.str instance# 方法原型# - 符号之前是参数# - 符号之后时返回值类型S.find(sub[, start[, end]]) - int# 方法介绍Return the lowest index in S where substring sub is found,such that sub is contained within S[start:end]. Optionalarguments start and end are interpreted as in slice notation.# 方法返回值Return -1 on failure.(END)Python 中双下划线 样式的方法__xxx__被称为魔法方法(这里不做详细介绍)这里我们主要关注非魔法方法。这里的dir(s) 显示的所有方法中除了魔法方法外还有44 个方法我们可以粗略的将这些方法分为以下8 类字符串查找字符大小写判断字母数字字符串填充字符串格式化字符串截断字符串分割其它方法下面我们逐一进行介绍。1字符串查找1.find方法作用从左开始查找返回子串sub 在S[start:end] 中的第一个下标原型S.find(sub[, start[, end]]) - int参数 sub子字符串参数 start开始位置可省默认为 0参数 end结束位置可省默认为 len(S)返回值如果找到返回下标否则返回 -1示例 abcabcabc.find(ca)2 # 找到了返回下标 abcabcabc.find(bbc)-1 # 没找到返回 -12.rfind方法作用从右开始查找返回子串sub 在S[start:end] 中的第一个下标原型S.rfind(sub[, start[, end]]) - int参数同 find 方法返回值如果找到返回下标否则返回 -1示例 abcabcabc.rfind(ca)5 abcabcabc.rfind(bbc)-13.index方法作用从左开始查找返回子串sub 在S[start:end] 中的第一个下标原型S.index(sub[, start[, end]]) - int参数 sub子字符串参数 start开始位置可省默认为 0参数 end结束位置可省默认为 len(S)返回值如果找到返回下标否则抛出ValueError 异常示例 abcabcabc.index(ca)2 abcabcabc.index(bbc)Traceback (most recent call last):File , line 1, in ValueError: substring not found # ValueError 异常关于Python 异常将在后续章节详细介绍4.rindex方法作用从右开始查找返回子串sub 在S[start:end] 中的第一个下标原型S.rindex(sub[, start[, end]]) - int参数同index 方法返回值如果找到返回下标否则抛出ValueError 异常示例 abcabcabc.rindex(ca)5 abcabcabc.rindex(bbc)Traceback (most recent call last):File , line 1, in ValueError: substring not found5.count方法作用统计子串sub在S[start:end] 中出现的次数原型S.count(sub[, start[, end]]) - int参数 sub子字符串参数 start开始位置可省默认为 0参数 end结束位置可省默认为 len(S)返回值子串出现的次数示例 abcabcabc.count(bc)32字符大小写6.capitalize方法作用将字符串S的首字符变为大写其余字符变为小写对中文无效原型S.capitalize() - str参数无返回值新的字符串示例 AbCdE.capitalize()Abcde7.casefold方法作用将字符串S中的所有字符变为小写对中文无效原型S.casefold() - str参数无返回值新的字符串示例 AbCdE.casefold()abcde8.swapcase方法作用将字符串S 中的大写字符转为小写小写字符转为大写对中文无效原型S.swapcase() - str参数无返回值新的字符串示例 AbCdE中国.swapcase()aBcDe中国9.istitle方法作用判断S 中的单词是否全都首字母大写且其它字符小写原型S.istitle() - bool参数无返回值True 或 False示例 Abc De fj.istitle()False Abc De Fj.istitle()True Abc De Fj 中国.istitle() # 可以有中文True 中国.istitle() # 不能只有中文False10.title方法作用将每个非字母后的第一个字母变为大写原型S.title() - str参数无返回值新的字符串示例 a3bc-abc abc.title()A3Bc-Abc Abc11.islower方法作用判断S 中的字符是否全是小写字符原型S.islower() - bool参数无返回值True 或 False示例 abc.islower()True aBc.islower() # 有大写字符返回 FalseFalse abc中国.islower() # 英文字符全是小写且包含中文返回 TrueTrue 中国.islower() # 只有中文返回 FalseFalse .islower()False12.isupper方法作用判断S 中的字符是否全是大写字符原型S.isupper() - bool参数无返回值True 或 False示例 ABC.isupper() # 所有字符全是大写返回 TrueTrue Abc.isupper() # 有大写有小写返回 FalseFalse ABC中国.isupper() # 所有字符全是大写并包含中文返回 TrueTrue 中国.isupper() # 只有中文返回 FalseFalse .isupper() # 空字符串返回 FalseFalse13.lower方法作用将S 中的所有大写字符转为小写原型S.lower() - str参数无返回值新的字符串示例 AbC.lower()abc14.upper方法作用将S 中的所有小写字符转为大写原型S.upper() - str参数无返回值新的字符串示例 AbC.upper()ABC3判断字母数字15.isalnum方法作用判断S 中所有的字符是否都是字母或数字原型S.isalnum() - bool参数无返回值True 或 False示例 abc.isalnum() # 英文字符返回 TrueTrue abc123.isalnum() # 英文字符或数字返回 TrueTrue abc中国.isalnum() # 英文字符或汉字返回 TrueTrue abc;.isalnum() # 有符号; 返回 FalseFalse abc-.isalnum() # 有符号- 返回 FalseFalse .isalnum() # 空字符串返回 FalseFalse16.isalpha方法作用判断S 中所有的字符是否都是字母原型S.isalpha() - bool参数无返回值True 或 False示例 abc.isalpha() # 都是英文字符返回 TrueTrue abc中国.isalpha() # 英文字符和汉字返回 TrueTrue abc中国123.isalpha() # 有数字返回 FalseFalse abc中国-.isalpha() # 有符号返回 FalseFalse .isalpha() # 空字符串返回 FalseFalse17.isdecimal方法作用判断S 中是否只包含十进制字符原型S.isdecimal() - bool参数无返回值True 或 False示例 abc.isdecimal() # 不包含数字返回 FalseFalse abc123.isdecimal() # 除了数字还有英文字符返回 FalseFalse 123.isdecimal() # 只有数字返回 TrueTrue 123-.isdecimal() # 除了数字还有符号返回 FalseFalse .isdecimal() # 空字符串返回 FalseFalse 一二三.isdecimal()False18.isdigit方法作用判断S 中是否只包含数字原型S.isdigit() - bool参数无返回值True 或 False示例 123.isdigit()True 123e.isdigit()False19.isnumeric方法作用判断S是否只由数字组成数字可以是罗马数字汉字数字等原型S.isnumeric() - bool参数无返回值True 或 False示例 一二三.isnumeric()True 壹贰叁.isnumeric()True 123.isnumeric()True abc.isnumeric()False20.isidentifier方法作用判断S 是否是有效的Python 标识符原型S.isidentifier() - bool参数无返回值True 或 False示例 abc.isidentifier()True 5abc.isidentifier() # 不能以数字开头False _5abc.isidentifier()True _5abc.isidentifier() # 不能以空格开头False _5abc;.isidentifier() # 不能有标点符号False21.isprintable方法作用判断S 中的字符是否全部可打印原型S.isprintable() - bool参数无返回值True 或 False示例 abc中国.isprintable()True abc\n.isprintable() # 换行符不可见False abc\t.isprintable() # 制表符不可见False abc\r.isprintable() # 回车符不可见False22.isspace方法作用判断S 中是否全是空白字符原型S.isspace() - bool参数无返回值True 或 False示例 \r\n\t .isspace()True abc\r\n\t .isspace()False4字符串填充23.center方法作用返回一个总长度为width 的字符串S 居中其它字符以fillchar 填充原型S.center(width[, fillchar]) - str参数 width新的字符串的总长度当 width 小于 S 的长度时直接返回 S参数 fillchar填充字符可省默认为空格返回值新的字符串示例 AbCdE.center(20, *)*******AbCdE********24.ljust方法作用以S 左对齐返回一个长度为width 的新字符串当len(S) 小于width 时用fillchar 字符填充原型S.ljust(width[, fillchar]) - str参数同 center 方法返回值新的字符串示例 abc.ljust(5, *)abc** abc.ljust(3, *)abc25.rjust方法作用类似ljust 方法本方法为右对齐原型S.rjust(width[, fillchar]) - str参数同 center 方法返回值新的字符串示例 abc.rjust(5, *)**abc abc.rjust(3, *)abc26.zfill方法作用效果同 rjust(width,0)原型S.zfill(width) - str参数width 为新的字符串的总长度返回值新的字符串 abc.zfill(5)00abc abc.rjust(5, 0)00abc5字符串格式化27.format方法作用用于格式化字符串用format 方法中的参数依次替代S 中的大括号{}原型S.format(*args, **kwargs) - str参数任意参数列表返回值返回格式化后的字符串示例 {} {} {}.format(hello, python, 123) # {} 中不写下标hello python 123 {2} {0} {1}.format(hello, python, 123) # {} 中写下标123 hello python28.format_map方法作用类似format 方法的作用只是接受的参数类型不同大括号{} 中必须是字典对象的键原型S.format_map(mapping) - str参数一个字典类型的对象返回值返回格式化后的字符串示例 {a} {b}.format_map({a:1, b:2})1 2关于字典类型将在后续章节详细介绍6字符串截断29.lstrip方法作用从左开始截去字符串S 中的字符chars直到第一个不是chars 的字符原型S.lstrip([chars]) - str参数chars 可以是任意长度的字符串每个包含在chars 中的字符都会被截去。可省默认为空格返回值新的字符串示例 abcabcabc.lstrip(b)abcabcabc abcabcabc.lstrip(a)bcabcabc abcabcabc.lstrip(ab)cabcabc abcabcabc.lstrip(abc)30.rstrip方法作用从右开始截去字符串S 中的字符chars直到第一个不是chars 的字符原型S.rstrip([chars]) - str参数同 lstrip返回值新的字符串示例 abcabcabc.rstrip(b)abcabcabc abcabcabc.rstrip(c)abcabcab abcabcabc.rstrip(bc)abcabca abcabcabc.rstrip(abc)31.strip方法作用先执行lstrip 再执行 rstrip原型S.strip([chars]) - str参数同 lstrip返回值新的字符串示例 abcabcabc.strip(b)abcabcabc abcabcabc.strip(ba)cabcabc abcabcabc.strip(bac)7字符串分割32.strip方法作用从左到右以字符串sep 来分割字符串S最多分割maxsplit 次原型S.split(sepNone, maxsplit-1) - list of strings参数 sepsep 可以是任意长度的字符串默认为任意空白符参数 maxsplit分割的最大次数默认不限次数返回值字符串列表示例 a3bc-abc-ab ef\thh\nmn.split()[a3bc-abc-ab, ef, hh, mn] a3bc-abc-ab ef\thh\nmn.split(maxsplit2)[a3bc-abc-ab, ef, hh\nmn] a3bc-abc-ab ef\thh\nmn.split(a)[, 3bc-, bc-, b ef\thh\nmn] a3bc-abc-ab ef\thh\nmn.split(bc)[a3, -a, -ab ef\thh\nmn]33.rsplit方法作用从右到左以字符串sep 来分割字符串S最多分割maxsplit 次原型S.rsplit(sepNone, maxsplit-1) - list of strings参数同strip 方法返回值字符串列表示例 a3bc-abc-ab ef\thh\nmn.rsplit()[a3bc-abc-ab, ef, hh, mn] a3bc-abc-ab ef\thh\nmn.rsplit(maxsplit2)[a3bc-abc-ab ef, hh, mn] a3bc-abc-ab ef\thh\nmn.rsplit(bc)[a3, -a, -ab ef\thh\nmn]34.splitlines方法作用对字符串S 进行行分割换行符为\r\n\r\n原型S.splitlines([keepends]) - list of strings参数keepends 为True 或 False为True 时保留换行符为False 时不保留换行符默认为False返回值字符串列表示例 a3bc-abc-ab ef\thh\nmn.splitlines()[a3bc-abc-ab ef\thh, mn] a3bc-abc-ab ef\thh\nmn.splitlines(True)[a3bc-abc-ab ef\thh\n, mn]8其它方法35.encode方法作用对S 以encoding指定的编码格式进行编码原型S.encode(encodingutf-8, errorsstrict) - bytes参数 encoding以什么编码格式进行编码默认是utf-8参数 errors发生错误时的处理方式默认为strict其它可选值有ignorereplacexmlcharrefreplace返回值S 的字节形式值示例 s 中国 s.encode(utf8)b\xe4\xb8\xad\xe5\x9b\xbd36.join方法作用用于连接迭代器iterable 中的所有元素分隔符为S原型S.join(iterable) - str参数可迭代类型数据返回值新的字符串示例 ,.join(abc)a,b,c |.join(abc)a|b|c关于可迭代类型将在后续章节详细介绍这里只需要知道字符串就是一种可迭代类型37.startswith方法作用判断字符串S[start:end] 是否以子串prefix 开头原型S.startswith(prefix[, start[, end]]) - bool参数 prefix子字符串参数 start开始位置可省默认为 0参数 end结束位置可省默认为 len(S)返回值True 或 False示例 abcabcabc.startswith(abc)True abcabcabc.startswith(bc)False38.endswith方法作用判断字符串S[start:end] 是否以子串suffix 结尾原型S.endswith(suffix[, start[, end]]) - bool参数 suffix子字符串参数 start开始位置可省默认为 0参数 end结束位置可省默认为 len(S)返回值True 或 False示例 abcabcabc.endswith(bc)True abcabcabc.endswith(bcd)False39.replace方法作用从左到右将S 中的 old 转换成 new最多转换 count 次原型S.replace(old, new[, count]) - str参数 old源字符串可以是任意长度参数 new目标字符串可以是任意长度参数 count最多转换 count 次返回值新的字符串示例 abcabcabc.replace(a, 1)1bc1bc1bc abcabcabc.replace(a, 111)111bc111bc111bc abcabcabc.replace(ab, 1)1c1c1c abcabcabc.replace(a, 1, 2)1bc1bcabc40.expandtabs方法作用将S 中的tab 转为空格tab 即\t原型S.expandtabs(tabsize8) - str参数 tabsize一个tab 转为空格的个数与tab 之前的子串长度之和为tabsize默认为 8返回值新的字符串示例 a\tbca\tbca\tbc.expandtabs(4)a bca bca bc a\tbca\tbca\tbc.expandtabs(4).replace( , -)a---bca-bca-bc # 为了方便显示空格的个数将空格替换为横线 a\tbca\tbca\tbc.expandtabs(8)a bca bca bc a\tbca\tbca\tbc.expandtabs(8).replace( , -)a-------bca-----bca-----bc # 为了方便显示空格的个数将空格替换为横线通过下图可以更好的理解expandtabs()的含义41.maketrans方法作用用于创建一个字符映射常与 translate 方法配合使用原型maketrans(x, yNone, zNone, /)参数当只有1 个参数时必须是一个字典。当有2 个参数时是两个字符串且这两个字符串的长度必须相同返回值一个字典类型的数据示例 str.maketrans({a:1, b:2, c:3, d:好}){97: 1, 98: 2, 99: 3, 100: 好} str.maketrans(abcd, 123好){97: 49, 98: 50, 99: 51, 100: 22909}42.translate方法作用将字符串S 使用table 进行替换原型S.translate(table) - str参数是一个字典类型返回值新的字符串示例 x str.maketrans(abc, 123) x{97: 1, 98: 2, 99: 3, 100: 好} axxxbxxxcxxx.translate(x) # a-1 b-2 c-31xxx2xxx3xxx43.partition方法作用从左边开始将字符串S 用sep 进行分隔只会进行一次分隔原型S.partition(sep) - (head, sep, tail)参数sep 可以是任意长度的字符串返回值返回一个三元组(head, sep, tail)head 是分隔后的前半部分tail 是后半部分sep 是分隔符示例 abcabcabc.partition(c)(ab, c, abcabc) abcabcabc.partition(bc)(a, bc, abcabc) abcabcabc.partition(abc)(, abc, abcabc)44.rpartition方法作用从右边开始将字符串S 用sep 进行分隔只会进行一次分隔原型S.rpartition(sep) - (head, sep, tail)参数同 partition 方法返回值同 partition 方法示例 abcabcabc.rpartition(c)(abcabcab, c, ) abcabcabc.rpartition(bc)(abcabca, bc, ) abcabcabc.rpartition(abc)(abcabc, abc, )(完。)推荐阅读
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/920556.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!