前言:
现在你们对“bytesstrpython”都比较看重,小伙伴们都想要学习一些“bytesstrpython”的相关内容。那么小编在网摘上网罗了一些对于“bytesstrpython””的相关内容,希望大家能喜欢,同学们快快来学习一下吧!(本号正在连续推出以Python官网文档为主线的完整的系统的学习Python的系列文章和视频,感兴趣的朋友们欢迎搜索关注。本文及后续文章如无特别声明均以Windows平台作为演示平台,Python版本为:3.8.1)
【注意:开始学习“Python学习进阶教程”系列内容前须已经学习过“Python学习入门教程”系列内容】
本部分内容由笔者参照Python英文版文档编写整理,较之官网中文版更加符合中文的语法习惯,且修正了其中出现的所有错误。可以作为参考文档收藏!
str的常用的方法已在"Python学习入门(5)—字符串操作"中详细介绍过了,本文作为进阶教程,将介绍str的其它方法。
str.capitalize()
返回原字符串的首字符大写其余字符小写的一个拷贝, 例如德文'ß'(等价于"ss"),则调用此方法会返回"Ss".。注意:在python的3.8版本之前,对于像连字这样的字符会将其对应的所有字符都大写(对于'ß'会返回"SS").
str.casefold()
返回一个所有字符都大小写折叠了的原字符串的拷贝。对于ASCII码字符串大小写折叠后的结果等同于将其中所有大写转换为小写后的结果,例如"AaAAa".casefold()会返回"aaaaa"。注:大小写折叠算法是由Unicode标准给出的,详细信息请参看Unicode标准文档。
str.center(width[, fillchar])
如果原字符串的长度小于width,则返回以原字符串内容居正中的长度为width的以fillchar填充两端的字符串,默认fillchar为ASCII码中的空格。如果原字符串的长度大于等于width则返回原字符串。
str.count(sub[, start[, end]])
返回字符串sub在原字符串(假设为s)的索引值区间[start,end)上不重叠的出现次数,默认start为0,end为len(s)。注意实际查找范围为s[start]到s[end-1](包含)。
str.encode(encoding="utf-8", errors="strict")
返回原字符串以encoding编码方式编码的bytes对象。参数encoding用来指定编码方式,encoding默认为"utf-8"。参数errors用来指定错误处理模式,默认为'strict',其它可取值包括'ignore', 'replace', 'xmlcharrefreplace', 'backslashreplace '以及任何通过 codecs.register_error() 注册的值。
注:
'strict'如果有编码错误,则抛出ValueError异常。与默认值None具有相同的效果。'ignore'忽略错误。注意,忽略编码错误会导致数据丢失。'repalce'导致替换标记(如“?”)被插入到有格式错误数据的地方。'xmlcharrefreplace'仅在写入文件时受支持。不受编码支持的字符将被替换为适当的XML字符引用nnn;。'backslashreplace'用Python的反斜杠转义序列替换了格式错误的数据。
str.endswith(suffix[, start[, end]])
位于原字符串的区间[start,end)上的子字符串如果以suffix结尾,则返回True,否则返回False。start,end的解释同上面str.count。
str.expandtabs(tabsize=8)
返回一个字符串,其值为原字符串中每个制表符替换为一个或多个空格,替换空格的具体个数取决于制表符所出现的列和tabsize值,tabsize默认值为8。
展开字符串的操作是这样的:1. 将当前列计数(假定为curClmn)记为0;2. 检查当前列计数指示的字符。如果字符是制表符(\t),则在结果中逐个插入空格字符并设置curClumn+=1,直到curClmn%tabsize==0。(注意:制表符本身不会被复制)。如果字符是换行(\n)或回车(\r),则复制它并设置curClmn=0。如果是任何其他字符都将直接复制,并且设置curClumn+=1。3. 循环步骤2直到原字符串结束。
str.format(*args, **kwargs)
使用方法请参见" Python学习入门教程(21)—格式化输出「使用str.format()」"。
str.format_map(mapping)
接收一个dict类型的参数mapping,结果相当于str.format(**mapping)。
>>> '{name} is {age} old'.format_map(dict(name='john',age=30))'john is 30 old'
str.index(sub[, start[, end]])
返回字符串sub在原字符串的区间[start,end)上的从左起的首个出现位置(也就是sub的首字符的索引值)。如果指定的区间内没有sub子字符串,则引发 ValueError。start,end的解释同上。
str.isalnum()
如果原字符串为非空,并且所有的字符都是字母或数字字符,则返回True,否则返回False。对于字符c,c.isalnum()等价于c.isalpha() or c.isdecimal() or c.isdigit(), or c.isnumeric().
str.isalpha()
如果原字符串为非空,并且所有的字符都是字母字符,则返回True,否则返回False。
str.isascii()
如果原字符串为空,或所有的字符都是ASCII,则返回True,否则返回False。在Uicode中ASCII的码点范围为U+0000-U+007F。
str.isdecimal()
如果原字符串为非空,并且所有的字符都是十进制字符,则返回True,否则返回False。十进制字符是那些可以用来形成以10为基数的数字的字符,正式的讲,十进制字符是Unicode通用类别“Nd”中的字符。
str.isdigit()
如果原字符串为非空,并且所有的字符都是数字,则返回True,否则返回False。数字包括十进制字符和需要特殊处理的数字,如兼容性上标数字。数字包括了不能以十进制数字表示的数字,如Kharosthi数字。正式的讲,数字是Unicode中具有属性值Numeric_Type= digit或Numeric_Type=Decimal的字符。
str.isidentifier()
如果原字符串按照Python语言规范是有效的标识符,则返回True,否则返回False。
str.islower()
如果原字符串中至少有一个区分大小写的字符,并且所有区分大小写的字符都是小写的,则返回True,否则返回False。
str.isnumeric()
如果原字符串不为空,且所有字符都为数字字符,则返回True,否则返回False。正式地讲,数字字符是Unicode中所有具有属性值Numeric_Type=Digit 或 Numeric_Type=Decimal或rNumeric_Type=Numeric的字符。
str.isprintable()
如果原字符串是空字符串或所有字符是可打印的字符,则返回True,否则返回False。不可打印字符是Unicode字符数据库中定义为“Other”或“Separator”的字符,ASCII空格(0x20)除外,它被认为是可打印的。(注意,可打印字符也就是在字符串上调用repr()时不应该转义的字符。它与向sys stdout或sys.stderr写入的字符串的处理无关。)
str.isspace()
如果原字符串不为空,且所有的字符都为空白字符则返回True,否则返回False。
str.istitle()
如果原字符串不为空,且所有的字符都按标题方式大小写则返回True,否则返回False。
str.isupper()
如果原字符串不为空,且所有的区分大小写的字符都为大写则返回True,否则返回False。
str.join(iterable)
返回由调用字符串作为分隔符的连接iterable中的字符组成的字符串。如果iterable中存在任何非字符串的值,包括bytes,则引起TypeError。
str.ljust(width[, fillchar])
如果原字符串的长度小于width,则返回原字符串内容位于其左端的长度为width的字符串,其右端使用fillchar填充,如果没指定fillchar,则使用空格填充。如果原字串的长度大于等于width,则结果就为原字串。
str.lower()
返回将原字符串中区分大小写的字符均变为小写的字符串。
str.lstrip([chars])
返回将原字符串的前导字符串chars去除后的字符串,如果没有指定chars,则默认移除原字符串所有的前导空格。
【关于“str的方法”内容未完,下一篇将继续讲解】
【结束】
篇尾寄语:万丈高楼平地起,是否具有扎实的基础决定一个人能否走远以及能走多远。Python的学习也是同样的道理!