[       
        ]
宙飒天下		1. 字符串操作
python好用很大程度上是因为它的字符串好用.字符串是扁平序列和不可变序列,因此可以迭代可以按位取值可以切片但不可变.除了满足扁平序列和不可变序列的接口外,字符串还有一些额外的接口可以方便的实现复杂的功能
1.1. 表示字符串
python中字符串有4种表示方式,以"或'表示的字符串表示一行字符串,以"""或者'''表示的字符串表示长字符串,其中可以有换行.
python的字符串在这表示之外还可以使用前缀表示一些特殊意义
1.1.1. bytes
使用b表示定义的不是字符串而是一串bytes
x = b"aqsx" x b'aqsx' type(x) bytes 1.1.2. 原始字符串
原始字符串表示所有的字符串都是直接按照字面的意思来使用,没有转义特殊或不能打印的字符.原始字符串除在字符串的第一个引号前加上字母r(可以大小写)以外与普通字符串有着几乎完全相同的语法
x = r"dsld\n" x 'dsld\\n' 1.1.3. 格式化字符串[3.6]
python3.6后新增了格式化字符串的语法糖,可以使用前缀f来定义一个字符串,其中可以使用命名空间中的变量来填充内容
a = 12.4785 b = "啥" x = f"a是:{a},精确到2位是{a:.2f},b是{b}" x 'a是:12.4785,精确到2位是12.48,b是啥' 本质上它是.format()方法的语法糖,上面的例子可以写成
x = "a是:{a},精确到2位是{a:.2f},b是{b}".format(a=a,b=b) x 'a是:12.4785,精确到2位是12.48,b是啥' 1.2. 字符串专用接口
| 接口名 | 说明 | 
|---|---|
| join(seq) | 以指定字符串作为分隔符,将 seq中所有的元素(的字符串表示)合并为一个新的字符串 | 
| split(str="", num=string.count(str)) | num=string.count(str))以str为分隔符截取字符串,如果num有指定值,则仅截取num+1个子字符串 | 
| splitlines([keepends]) | 按照行( '\r', '\r\n', \n')分隔,返回一个包含各行作为元素的列表,如果参数keepends为False,不包含换行符,如果为True,则保留换行符. | 
| center(width, fillchar) | 返回一个指定的宽度 width居中的字符串,fillchar为填充的字符,默认为空格. | 
| count(str, beg= 0,end=len(string)) | 返回 str在string里面出现的次数,如果beg或者end指定则返回指定范围内str出现的次数 | 
| encode(encoding='UTF-8',errors='strict') | 以 encoding指定的编码格式编码字符串,如果出错默认报一个ValueError的异常,除非errors指定的是ignore或者replace | 
| endswith(suffix,beg=0, end=len(string)) | 检查字符串是否以 obj结束,如果beg或者end指定则检查指定的范围内是否以obj结束,如果是则返回True,否则返回False | 
| startswith(substr, beg=0,end=len(string)) | 检查字符串是否是以指定子字符串 substr开头,是则返回True,否则返回False.如果beg和end指定值,则在指定范围内检查. | 
| expandtabs(tabsize=8) | 把字符串 string中的tab符号转为空格,tab符号默认的空格数是8. | 
| find(str, beg=0, end=len(string)) | 检测 str是否包含在字符串中,如果指定范围beg和end,则检查是否包含在指定范围内,如果包含返回开始的索引值,否则返回-1 | 
| rfind(str, beg=0,end=len(string)) | 类似于 find()函数,不过是从右边开始查找. | 
| index(str, beg=0, end=len(string)) | 跟 find()方法一样,只不过如果str不在字符串中会报一个异常. | 
| rindex( str, beg=0, end=len(string)) | 类似于 index(),不过是从右边开始. | 
| capitalize() | 将字符串的第一个字符转换为大写 | 
| swapcase() | 将字符串中大写转换为小写,小写转换为大写 | 
| title() | 返回"标题化"的字符串,就是说所有单词都是以大写开始,其余字母均为小写(见 istitle()) | 
| lower() | 转换字符串中所有大写字符为小写. | 
| upper() | 转换字符串中的小写字母为大写 | 
| isalnum() | 如果字符串至少有一个字符并且所有字符都是字母或数字则返回 True,否则返回False | 
| isdigit() | 如果字符串只包含数字则返回 True否则返回False. | 
| isnumeric() | 如果字符串中只包含数字字符,则返回 True,否则返回False | 
| isalpha() | 如果字符串至少有一个字符并且所有字符都是字母则返回 True, 否则返回False | 
| islower() | 如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是小写,则返回 True,否则返回False | 
| isupper() | 如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是大写,则返回 True,否则返回False | 
| istitle() | 如果字符串是标题化的(见 title())则返回True,否则返回False | 
| isspace() | 如果字符串中只包含空白,则返回 True,否则返回False. | 
| ljust(width[, fillchar]) | 返回一个原字符串左对齐,并使用 fillchar填充至长度width的新字符串,fillchar默认为空格. | 
| rjust(width,[, fillchar]) | 返回一个原字符串右对齐,并使用 fillchar(默认空格)填充至长度width的新字符串 | 
| lstrip() | 截掉字符串左边的空格或指定字符. | 
| rstrip() | 删除字符串字符串末尾的空格. | 
| strip([chars]) | 在字符串上执行 lstrip()和rstrip() | 
| maketrans() | 创建字符映射的转换表,对于接受两个参数的最简单的调用方式,第一个参数是字符串表示需要转换的字符;第二个参数也是字符串表示转换的目标. | 
| replace(old, new [, max]) | 将字符串中的 old替换成new,如果max指定则替换不超过max次. | 
| translate(table, deletechars="") | 根据 str给出的表(包含 256 个字符)转换string的字符,要过滤掉的字符放到deletechars参数中 | 
| zfill (width) | 返回长度为 width的字符串,原字符串右对齐,前面填充0 | 
| isdecimal() | 检查字符串是否只包含十进制字符,如果是返回 true,否则返回 false。 | 



 
		 
		 
		

还没有评论,来说两句吧...