day5
一、可变不可变类型
1、可变类型:值改变了,但是id没有改变,证明改变的是原值,是可变类型
2、不可变类型:值改变了id也改变了,证明产生新的值,是不可变类型
# a = 5 # print(id(a)) # a = 6 # print(id(a))#int float str 是不可变类型,list dict是可变类型
二、数字类型
1、整型int 用途:记录年龄、等级、数量定义方式:age =1 9 # age = int(19)
数据类型转换:只能将纯数字的字符串转化成int 常用操作+内置的方法
# x = int('123123') # print(x, type(x))
2、浮点型float 用途:记录身高、薪资、体重 定义方式salary = 10.1 # salary=float(10.1)
数据类型转换: 只能将包含小数的字符串转成float
三、字符串类型
1、用途:记录描述性质的状态 定义方式:在单引号、双引号、三引号内包含一串字符串msg='hello' # msg=str('hello')
数据类型转换:所有类型都可以被str转成字符串类型 res=str([1,2,3])# print(res,type(res))
2、常用操作+内置的方法
2.1按索引取值(正向取+反向取) :只能取 索引[0 1 2 -2 -1]
#msg='hello' # print(msg[0],type(msg[0]))#h <class 'str'> # print(msg[-1])#o # print(msg[-2])#l
msg[0]='H' # 只能取,增值不允许
2.2 、切片(顾头不顾尾,步长)
# msg='hello world' # res=msg[0:3:1] # 0 1 2 # print(res) #hel # print(msg) #hello world
# msg='hello world' # res=msg[-1:-12:-1] # res=msg[-1::-1] # res=msg[::-1] # print(res) #输出结果dlrow olleh
2.3、长度len
# msg='hello world' # print(len(msg)) #11
2.4 成员运算in和not in:判断一个子字符串是否存在于大字符串中
# msg='kevin is dsb' # print('kevin' in msg)#True # print('dsb' in msg)#True # print('aaa' not in msg)#True # print(not 'aaa' in msg)#True
2.5移除空白strip: 用来去除字符串左右两边的字符,不指定默认去除的是空格
# msg=' he llo ' # res=msg.strip() # print(res,id(res))#he llo 973595595304 # print(msg,id(msg))# he llo 973595616368 # name=input('username>>>: ').strip() # name='egon ' # pwd=input('password>>>: ' ).strip()#如果没有.strip()然后输入的是"123空格'则会报错 # if name == 'egon' and pwd == '123': # print('login successful') # else: # print('输错了。。。')
2.6切分split:针对有规律的字符串,按照某种分隔符切成列表
# info='egon:18:male' # res=info.split(':',1) # print(res,type(res))#['egon', '18:male'] <class 'list'> 字符串看成一个值,切割之后变成两个值了所以变list # print(res[0],res[1])#egon 18:male
用:号作连接符号将纯字符串的列表拼接成一个字符串
# l=['egon', '18', 'male'] # 'egon:18:male' # res=l[0]+':'+l[1]+':'+l[2] # res=':'.join(l) # print(res)
2.7循环
# for i in 'hello': # print(i)#h e l l o # print('******egon***********'.strip('*'))#egon # print('******egon***********'.lstrip('*'))#egon*********** # print('******egon***********'.rstrip('*'))#******egon # print('Abc123'.lower())#abc123 # print('Abc123'.upper())#ABC123 # msg='alex is dsb' # print(msg.startswith('alex'))#True # print(msg.endswith('b'))#True # res = 'my name is %s my age is %s' % ('egon', 18) # print(res)#my name is egon my age is 18 # res='my name is {name} my age is {age}'.format(age=18,name='egon') # print(res) # msg='a:b:c:d' # print(msg.split(':',1))#['a', 'b:c:d'] # print(msg.rsplit(':',1))#['a:b:c', 'd'] # msg='kevin is kevin is hahahah' # res=msg.replace('kevin','sb',1) # print(res) # print('123123'.isdigit()) # 如果字符串是由纯数字组成的,则返回True # print('123123 '.isdigit())#其他均为False # print('123123asdf'.isdigit()) # print('12312.3'.isdigit()) # score = input('>>>>: ').strip() # score='ffhgafb' # if score.isdigit(): # score=int(score) # if score>=90: # print('优秀') # else: # print('小垃圾') # else: # print('必须输入纯数字')
四、列表类型
用途:按照位置记录多个值,索引对应值 、定义方式:在[]内用逗号分隔开多个任意类型的值
l=['a',11,11.3,] # l=list(['a',11,11.3,])
数据类型转换:但凡能够被for循环遍历的数据类型都可以传给list,被其转换成列表
常用操作+内置的方法
#优先掌握的操作:
4.1 按索引存取值(正向存取+反向存取):即可存也可以取
# l=['a','b','c','d','e'] # print(l[0])#a # print(l[-1])#e # print(id(l)) # l[0]='A' # print(id(l)) # 强调强调强调!!!:对于不存在的索引会报错 # l[5]='AAAA' # dic={"k1":111} # dic['k2']=2222 # print(dic)#{'k1': 111, 'k2': 2222}
4.2切片(顾头不顾尾,步长)
# l=['a','b','c','d','e'] # print(l[1:4])#['b', 'c', 'd'] # print(l[::-1])#['e', 'd', 'c', 'b', 'a']
4.3 长度
# l=['a','b','c','d','e'] # print(len(l))#5
4.4 成员运算in和not in
# l=['a','b','c','d','e'] # print('a' in l)#True
4.5 追加与insert
l=['a','b','c','d','e'] # l.append('xxx') # l.append('yyy') # print(l)#['a', 'b', 'c', 'd', 'e', 'xxx', 'yyy'] # l.insert(1,'xxxx') # print(l)#['a', 'xxxx', 'b', 'c', 'd', 'e']
4.6 删除
# l = ['a', 'bbb', 'c', 'd', 'e'] # del l[0] # print(l)## del是一种通用的删除操作,没有返回值 # dic={'k1':1} # del dic['k1'] # print(dic) # res = l.remove('bbb') # print(l)#['a', 'c', 'd', 'e'] # print(res)#None,remove(指定要删除的那个元素),没有返回值 # l=['a','bbb','c','d','e'] # l.pop(-1) # res=l.pop(1) # print(l)#['a', 'c', 'd'] # print(res)#bbb pop(指定要删除的那个元素的索引),返回刚刚删掉的那个元素
4.7循环
# l=['a','b','c','d','e'] # for item in l: # print(item)#a b c d e
队列:先进先出
# l=[] # # 入队 # l.append('first') # l.append('second') # l.append('third') # print(l)#['first', 'second', 'third'] # 出队 # print(l.pop(0))#first l=['second', 'third'] # print(l.pop(0))#second l=['third'] # print(l.pop(0))#third
堆栈:后进先出
# l = ['aaa', 'bb', 345] # l.clear() # 此时l=[] # l.append([1, 2, 3]) # 此时l=[[1, 2, 3]] # # for i in [1, 2, 3]: # i=1,2,3 # l.append(i) # # print(l)#l=[[1, 2, 3], 1, 2, 3] # l.extend([1,2,3])#l=[[1, 2, 3], 1, 2, 3, 1, 2, 3] # l.reverse() # print(l)#[3, 2, 1, 3, 2, 1, [1, 2, 3]]
只有在类中中所有元素都是同种类型的情况下才能用sort排序
# l=[1,3,2] # l.sort(reverse=True) # print(l)#[3, 2, 1] # l=['z','d','a'] # l.sort() # print(l)#['a', 'd', 'z']优质内容筛选与推荐>>