L2基础数据类型之字符串的处理和判断基础类型
程序员文章站
2022-06-01 22:03:14
...
字符串也可以被遍历,输出单个字母,迭代(sequence)
for i in 'afaffsad':
print(i)
(以下不常用,常用的会特别注明)
转换大小写
转小写
'aa AAA'.lower() >>> 'aa aaa'
转大写
'aa AAA'.upper() >>> 'AA AAA'
首字母大写
'hello world'.capitalize() >>> 'Hello world'
大小写转换
'aaa AAA'.swapcase() >>> 'AAA aaa'
### is xxx判断
是的话返回 True,假的话返回False
是否字母
'a'.isalpha() >>> True
是否空格
''.isspace() >>> True
是否数字
''.isdigit() >>> True
是否可打印
'n'.isprintable() >>> True
检查字符串是否为合法的标识符(变量名)
'a4'.isidentifier() >>> True
'7a4'.isidentifier() >>> False
填充 fill
字符串两边填充,第一个参数是填充后的长度,第二个参数填充的字符,可以用于居中打印
居中打印
'abc'.center(5,'_') >>> '_abc_'
右边或左边进行填充
'abc'.ljust(10,'_') >>> 'abc_______'
'abc'.rjust(10,'_') >>> 'abc_______'
(常用)搜索
.count(sub) 参数为要搜索的子字符串,返回子串出现的次数,第二个参数表示从第几个字符开始搜索。
'xjxjxjxjjxjxjsafafxji'.count('xj')
查找相同变量:
a = 'qweereqeqweqwe'
a2 = 'q'*a1.count('q') >>> qqqq
'xjxjxjxjjxjxjsafafxji'.count('xj',3) >>> 5
判断字符串是否以某个字符串开头结尾
'ascb'.startswith('a') >>> True
'ascb'.endswith('cb') >>> True
(常用) find() 查找子字符串是否出现过,是的话返回下标,注意没找到时返回-1
'abcxyzXY'.find('xy') >>> 3
'abcxyzXY'.find('aaa') >>> -1
(常用) index() 跟find()类似,只是没查找到时返回异常。
### 替换
(常用) raplace(old,new)
```python
'abcxyzXY'.replace('abc','xyz') >>> 'xyzxyzXY'
分隔
partition(substring) 根据子串分成几个部分,返回一个元组
'abcxyzXY'.partition('xy') >>> ('abc','xy','zXY')
(常用split) 根据子串分隔
'1,2,3'.split(',') >>> ['1','2','3']
连接
(常用)join() 用一个字符连接序列的各个项
student_list = ['小红','褐色','勤勤']
','.join(student_list) >>> '小红,褐色,勤勤'
删除无用字符
(常用)strip()删除无用字符,默认删除 换行\n 制表符\t 空格,传参数的话子删除跟参数相关的。
方法用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列。
注意:该方法只能删除开头或是结尾的字符,不能删除中间部分的字符。
'我sdk \n \n'.strip() >>> '我sdk'
'我sdk \n \n'.strip('\n') >>> '我sdk \n '
a = '我sdk \n \n'.strip('\n')
b = ' 我sdk \n \n'.strip()
print(a)
print(b)
isinstance(要判断的对象object,类型type)
isinstance()函数判断传入的对象是否为期望的类型,是的话返回True,不是的话返回False
适用场景,用来判断一个变量或输入是否合法,判断值是否如预期一样正确
a = 1
b = 'sss'
isinstance(a,int) >>> True
isinstance(b,int) >>> False
isinstance(b,bool) >>> False
# type() 返回的是类
a = 1
type(a) >>> <class 'int'>