一.可变与不可变
可变:值改变,id没有跟着改变,证明就是在改变原值
q=[‘qwe‘,123,[‘qw‘,123]] print(id(q))=====>>2668034070664 q[0]=‘QWE‘ print(q)========>>>>q=[‘QWE‘, 123, [‘qw‘, 123]] print(id(q))=====>>2668034070664
不可变:值改变,id也跟着改变,证明是产生了新的值
q =10 print(id(q))=====>>>1368097168 q=11 print(id(q))=====>>>1368097200
二.字符串str
字符串的定义:msg=‘hello‘ # msg=str(‘hello‘)
数据转换:所有类型都可以被str转换成字符串类型
res=str([1,2,3])
print(res,type(res))
[1, 2, 3] <class ‘str‘>
内置方法:
1、按索引取值(正向取+反向取) :只能取
msg=‘hello‘ print(msg[0],type(msg[0]))=====>>>h <class ‘str‘> print(msg[-1])=====>>>o print(msg[-2])=====>>>l
2、切片(顾头不顾尾,步长)
msg=‘hello world‘ res=msg[0:3:1] # 0 1 2 print(res)====>>>hel print(msg)====>>>hello world
3、长度len
msg=‘qwerteryerhrt‘ print(len(msg))=====>>>13
4、成员运算in和not in:判断一个小字符串是否存在于大字符串中
msg=‘qwerteryerhrt‘ print(‘qwe‘ in(msg))=====>>>True print(‘cvb‘ in(msg) )=====>>>False
5、移除空白strip:用来去除字符串左右两边的字符,不指定去除字符,默认去除空格
实例一:mag=‘ qwe ‘ print(mag.strip())=====>>>qwe 实例二:name=input(‘username:‘).strip() pwd=input(‘password:‘).strip() if name==‘qwe‘ and pwd==‘123‘: print(‘厉害‘) else: print(‘错了‘) username: qwe password: 123 厉害
6、切分split:针对有规律的字符串,按照某种分隔符列成列表
实例一:info=‘egon:18:male‘ res=info.split(‘:‘) print(res,type(res)) print(res[0],res[1]) [‘egon‘, ‘18‘, ‘male‘] <class ‘list‘> egon 18 实例二:qwe=‘qwe.qd.qwd|faf‘ print(qwe.split(‘.‘)) [‘qwe‘, ‘qd‘, ‘qwd|faf‘] join的使用 q=[‘qwe‘,‘123‘,‘qwwe‘] qwe=‘:‘.join(q) print(qwe) qwe:123:qwwe
7、循环
for item in ‘hello‘: print(item) h e l l o
需要掌握
1、strip去两边,lstrip去左边,rstrip去右边
print(‘*************eron*******‘.strip(‘*‘))去两边 print(‘******egon*******‘.lstrip(‘*‘))去左边 print(‘******egon*******‘.rstrip(‘*‘))去右边 eron egon******* ******egon
2、lower字母小写,upper字母大写
print(‘Abc123‘.lower())字母小写 print(‘Abc123‘.upper())字母大写 abc123 ABC123
3、startswith以什么开头,endswith以什么结尾
msg=‘qwe is asd‘ print(msg.startswith(‘q‘))判断是否以什么开头 print(msg.endswith(‘d‘))判断以什么结尾 True True
4、format的三种玩法
res=‘my name is {name} ma age is {age}‘.format(name=‘egon‘, age=18) print(res) res=‘my name is {} ma age is {}‘.format(18,‘egon‘) print(res) res=‘my name is {1} ma age is {0}‘.format(18,‘egon‘) print(res) my name is egon ma age is 18 my name is 18 ma age is egon my name is egon ma age is 18
5、split切分,rsplit右切分
msg = ‘qwe: is: asd‘ print(msg.split(‘:‘,1))切分 print(msg. rsplit(‘:‘,1))右切分 [‘qwe‘, ‘ is: asd‘] [‘qwe: is‘, ‘ asd‘]
6、replace替换
msg = ‘qwe id qwe acsv‘ print(msg.replace(‘qwe‘,‘asd‘)) print(msg.replace(‘qwe‘,‘asd‘,1)) asd id asd acsv asd id qwe acsv
7、isdigit判断是否为纯数字字符串
print(‘123344‘.isdigit()) print(‘123qqwe123‘.isdigit()) True False
了解
1、find,rfind,index,rindex,count
find查找不到会返回一个-1
indxe查找不带会报错
count计数
2、center,ljust,rjust,zfill
填充 .center(50,*)
print(‘egon‘).center居中填充
4、captalize首字母大写
swapcase大小写转换
title每个单词字母
5、is数字系列
num1=b‘4‘ #bytes
num2=‘4‘ #unicode,python3中无需加u就是unicode
num3=‘四‘ #中文数字
num4=‘Ⅳ‘ #罗马数字
bytes与阿拉伯数字组成的字符串
print(num1.isdigit())
print(num2.isdigit())
print(num3.isdigit())
print(num4.isdigit())
阿拉伯数字组成的字符串
print(num2.isdecimal())
print(num3.isdecimal())
print(num4.isdecimal())
阿拉伯数字\中文\罗马组成的字符串
print(num2.isnumeric())
print(num3.isnumeric())
print(num4.isnumeric())
作用:多个装备,多个爱好,多门课程,多个女朋友等
定义:[]内可以有多个任意类型的值,逗号分隔
my_girl_friends=[‘alex‘,‘wupeiqi‘,‘yuanhao‘,4,5] #本质my_girl_friends=list([...])
数据类型转换:但凡能被for循环遍历的数据类型都可以传给list
res=list(‘hello‘)=====>>>[‘h‘, ‘e‘, ‘l‘, ‘l‘, ‘o‘]
res=list({‘a‘:1,‘b‘:2,‘c‘:3}) =====>>>[‘a‘, ‘b‘, ‘c‘]
print(res)
优先掌握的操作:
1、按索引存取值(正向存取+反向存取):即可存也可以取
l=[‘a‘,‘b‘,‘c‘,‘d‘,‘e‘] print(l[0])=====>>>>a print(l[-1])=====>>>e print(id(l))=====>>>1498890049672 l[0]=‘A‘ print(l)====>>>[‘A‘, ‘b‘, ‘c‘, ‘d‘, ‘e‘] print(id(l))=====>>>1498890049672 强调强调强调!!!:对于不存在的索引会报错 l[5]=‘AAAA‘=====>>>报错 dic={"k1":111} dic[‘k2‘]=2222 print(dic)====>>>{‘k1‘: 111, ‘k2‘: 2222}
2、切片(顾头不顾尾,步长)
l=[‘a‘,‘b‘,‘c‘,‘d‘,‘e‘] print(l[1:4])====>>>[‘b‘, ‘c‘, ‘d‘] print(l[::-1])=====>>>[‘e‘, ‘d‘, ‘c‘, ‘b‘, ‘a‘]
3、长度
l=[‘a‘,‘b‘,‘c‘,‘d‘,‘e‘] print(len(l))=====>>>5
4、成员运算in和not in
l=[‘a‘,‘b‘,‘c‘,‘d‘,‘e‘] print(‘a‘ in l)====>>>Ture
5、追加
.append()在最后加值 l=[‘a‘,‘b‘,‘c‘,‘d‘,‘e‘] l.append(‘xxx‘) l.append(‘yyy‘) print(l)====>>>[‘a‘, ‘b‘, ‘c‘, ‘d‘, ‘e‘, ‘xxx‘, ‘yyy‘] .insert()在指定索引前面加值 l=[‘a‘,‘b‘,‘c‘,‘d‘,‘e‘] l.insert(3,‘xxxx‘) l.insert(0,‘yyy‘) print(l)====>>>[‘yyy‘, ‘a‘, ‘b‘, ‘c‘, ‘xxxx‘, ‘d‘, ‘e‘] .extend l=[‘aaa‘,‘bb‘,345] l.extend((‘1‘,‘2‘,‘3‘)) print(l)=====>>>[‘aaa‘, ‘bb‘, 345, ‘1‘, ‘2‘, ‘3‘]
6、删除
l=[‘a‘,‘b‘,‘c‘,‘d‘,‘e‘] del是一种通用的删除操作,没有返回值 del l[0] print(l)====>>>[‘b‘, ‘c‘, ‘d‘, ‘e‘] dic={‘k1‘:1} del dic[‘k1‘] print(dic)====>>>{} clear是全部清除 l=[‘aaa‘,‘bb‘,345] l.clear() print(l)=====>>>[] l.remove(指定要删除的那个元素),没有返回值 res=l.remove(‘b‘) print(l)====>>>[‘a‘,‘c‘, ‘d‘, ‘e‘] print(res)====>>>None l.pop(指定要删除的那个元素的索引),返回刚刚删掉的那个元素 l=[‘a‘,‘b‘,‘c‘,‘d‘,‘e‘] l.pop(-1) res=l.pop(1) print(l)====>>>[‘a‘, ‘c‘, ‘d‘] print(res)====>>>b
7、循环
l=[‘a‘,‘b‘,‘c‘,‘d‘,‘e‘] for item in l: print(item)
.reverse()反转
l=[‘aaa‘,‘bb‘,345]
l.reverse()
print(l)=====>>>[345, ‘bb‘, ‘aaa‘]
.sort()只有在类中中所有元素都是同种类型的情况下才能用sort排序
l=[‘z‘,‘d‘,‘a‘]
l.sort()
print(l)====>>>>[‘a‘, ‘d‘, ‘z‘]
原文:https://www.cnblogs.com/wangtenghui/p/10580733.html