接第三讲 —— 字符串其他操作
字符串内置方法
split() —— 分割字符串(例:XXX.split(xxx),点前面一般是变量,括号内是分割的字符)
join() —— 拼接字符串(例:xxx.join(XXX),点前面是拼接的字符(一般用变量形式),括号内是变量)
strip() —— 左右两边去空格
lstrip() —— 左边去空格
rstrip() —— 右边去空格
字符串内置方法的表示 | 含义 |
---|---|
split() | 分割字符串 |
splitlines([keepends]) | 以换行符作为分隔符对字符串进行分割,keepends参数设置最大分割次数) |
join() | 拼接字符串 |
strip() | 左右两边去空格 |
lstrip() | 左边去空格 |
rstrip() | 右边去空格 |
upper() | 全部大写字母 |
lower() | 全部小写字母 |
isupper() | 判断是否第一个字母是大写(返回布尔值) |
islower() | 判断是否第一个字母是小写(返回布尔值) |
capitalize() | 将第一个字母修改为大写,其他全部修改为小写 |
casefold() | 将所有字符修改为小写(英文字母外也可) |
center(width[,fillchar]) | 当字符个数大于width时,字符串不变。当字符个数小于width时,字符串居中,并在左右填充空格以达到width指定长度。fillchar为可选参数,指定填充的字符,默认为空格 |
ljust(width[,fillchar]) | 当字符个数大于width时,字符串不变。当字符个数小于width时,左对齐字符串,并在右边填充空格以达到width的指定长度。fillchar为可选参数,指定填充的字符,默认为空格 |
rjust(width[,fillchar]) | 当字符个数大于width时,字符串不变。当字符个数小于width时,右对齐字符串,并在右边填充空格以达到width的指定长度。fillchar为可选参数,指定填充的字符,默认为空格 |
zfill(width) | 当字符串个数大于width时,字符串不变。当字符个数小于width时,返回长度为width的字符串,原字符串右对齐,前边用0进行填充 |
count(sub[,star[,end]]) | 返回sub参数在字符串里面出现的次数。start和end为可选参数,指定统计范围 |
encode(encoding=‘uft-8’,errors=‘strict’) | 以恩仇藕丁参数指定的编码格式对字符串进行编码,并返回errors参数指定出错时的处理方式,默认是UnicodeError异常。还可以用‘ignore’(忽略),‘replace’(用?替代),‘xmlcharrefreplace’(使用XML的字符引用替代),‘backslashreplace’(用反斜杠转义序列替代) |
endswith(sub[,start[,end]]) | 检查字符串是否以sub参数结束,如果是返回True,否则返回False。start和end参数为可选参数,指定范围 |
startswith(sub[,start[,end]]) | 检查字符串是否以sub参数开头,如果是返回True,否则返回False。start和end为可选参数,指定范围 |
expandtabs() | 将制表符(\t)替换成空格(默认为8个空格) |
find(sub[,start[,end]]) | 检查sub是否包含在字符串中,如果有返回第一个出现的位置,否则返回-1。start和end为可选参数,表示范围。 |
rfind(sub[,start[,end]]) | 类似find()方法,是从右边开始查找 |
index(sub[,start[,end]]) | 和find()方法一样。该方法如果找不到将出现一个ValueError的异常错误 |
rindex(sub[,start[,end]]) | 类似index()方法,是从右边开始查找 |
isalnum() | 如果字符串仅由字母或数字构成则返回True,否则返回False |
isalpha() | 如果字符串仅由字母构成则返回True,否则返回False |
isdecimal() | 如果字符串仅由十进制数字构成则返回True,否则返回False(二进制数字报错,小数、罗马数字和汉字数字的值为False) |
isdigit() | 如果字符串仅由数字构成则返回True,否则返回False(可返回所有数字类型,小数、汉字数字和罗马数字的值为False) |
isnumeric() | 如果字符串仅由数值构成则返回True,否则返回False(可返回所有数字类型,包括汉字数字,小数的值为False) |
isspace() | 如果字符串仅由空白字符构成则返回True,否则返回False |
istitle() | 如果是标题化(所有单词均以大写字母开始,其余字母皆小写)字符串则返回True,否则返回False |
title() | 以标题化(所有单词均以大写字母开始,其余字母皆小写)字符串中的字符 |
partition(sep) | 找到sep参数第一次出现的位置,并将字符串切分成一个三元组(sep前面的子字符串,sep,sep后面的子字符串);如果字符串中不包含sep,则返回三元组(原字符串,‘ ’,‘ ’) |
rpartition(sep) | 类似partition()方法,不过是从右边开始查找 |
replace(old,new[,count]) | 将字符串中的old参数指定的字符串替换成new参数指定的字符串。count为可选参数,表示最多替换次数不超过count |
swapcase() | 将字符串中所有大写字母修改为小写,并且将小写字母修改为大写 |
translate(table) | 根据table的规则(可以由str.maketrans(‘a’,‘b’)定制)转换字符串中的字符 |
运算符
- 概念 —— 用于执行程序代码运算,针对一个以上操作数项目来进行运算
- 运算符分类(常用运算符)
- 算术运算符
- 赋值运算符
- 比较运算符(关系运算符)
- 逻辑运算符
- 条件运算符(三元运算符)
算数运算符
- 加 ‘+’ —— 数字加法运算,字符串拼接
- 减 ‘-’ —— 数字减法运算
- 乘 ‘*’ —— 数字乘法运算,字符串复制次数(字符串之间不能乘)
- 除 ‘/’ —— 数字除法运算(除数不得为0),总返回浮点类型(字符串之间不能除)
- 取整除 ‘//’ —— 数字除法运算,只取整数(整数型),小数不四舍五入
- 取余数 ‘%’ —— 数字除法运算,只取商数
- 幂运算 ‘**’ —— 数字的幂运算
赋值运算符
等号 ‘=’ —— 将右侧值赋值给等号左侧的变量
赋值符合运算符结合
- x += 2 等价于 x = x + 2
- x -= 2 等价于 x = x - 2
- x *= 2 等价于 x = x * 2
- x /= 2 等价于 x = x / 2
- x //= 2 等价于 x = x // 2
- x %= 2 等价于 x = x % 2
- x **= 2 等价于 x = x ** 2
比较运算符
- 大于’>’
- 大于等于‘>=’
- 小于’<’
- 小于等于‘<=’
- 等于’==‘ —— 比较两个对象的值是否相等
- 不等于’!=’ —— 比较两个对象的值是否不相等
- ‘is’ —— 比较两个对象是否是同一个对象(比较的是对象的id)
- ‘is not’ —— 比较两个对象是否不是同一个对象(比较的是对象的id)
字符串比较大小根据ASCII码,且一位对一位比较
逻辑运算符
- 逻辑非‘not’ —— 对符号右侧的值进行非运算(非布尔值进行非运算需先将值转化为布尔值,然后取反操作;布尔值取反操作)。代表空性的值都是False(如0,[],{},(,),’ ')
- 逻辑与‘and’ —— 只有符号两侧的值都为True时,才返回True。
- 如果一个值为False,则不看后面的值。
- 逻辑或‘or’ —— 符号两侧的值有一个为True时,就返回True。
- 如果一个值为True,则不看后面的值。
非布尔值的与或运算
- 逻辑与运算规则:如果第一个值是False,则返回第一个值,否则返回第二个值
- 逻辑或运算规则:如果第一个值是True,则返回第一个值,否则返回第二个值