#可变类型: 值变了,但是id没有变,证明没有生成新的值而是在改变原值,原值是可变类型
#不可变类型:值变了,id也跟着变,证明是生成了新的值而不是在改变原值,原值是不可变
01数字类型
一、整型 int
#赋值比较算术
不可变
二、浮点型 float
#赋值比较算术
不可变
=======================================================================================================
02字符串类型 str 有序 不可变
一、按索引取值(正向取+反向取):只能取
msg='hello world'
print(msg[0]) #取msg中第一个值 ‘h’
print(msg[-1]) #取msg中倒数第一个值 ‘d’
二、切片(顾头不顾尾,步长) 想要从一个大字符串中切出一个小字符串
msg='hello world'
print(msg[0:5])
print(msg[0:5:2]) #取第一位到第五位步长是二 0 2 4
#####掌握#####
(一)长度len
msg='你好啊a'
print(len(msg)) #输出结果为4
(二)成员运算in和not in
msg='yangyuanhu 老师是一个非常虎的老师'
print('yangyuanhu' in msg) #输出结果为Ture
print('虎' not in msg) #输出结果为False
(三)移除字符串左右两边的字符strip: 默认去空格
pwd=' 123 '
print(pwd.strip()) #输出结果为123
(四)切分split:针对有规律字符串按照某个字符切成列表
info='yyhh|18|female'
print(info.split('|',1)) #输出结果为['yyhh', '18|female']
(五)循环
msg='hello'
for item in msg:
print(item)
需要掌握的操作(****)
#1、strip,lstrip,rstrip
# print('****egon***'.strip('*'))
# print('****egon***'.lstrip('*'))
# print('****egon***'.rstrip('*'))
#2、lower,upper
# print('AAAbbbb'.lower())
# print('AAAbbbb'.upper())
#3、startswith,endswith
# print('alex is sb'.startswith('alex'))
# print('alex is sb'.endswith('sb'))
#4、format的三种玩法
# print('my name is %s my age is %s' %('egon',18))
# print('my name is %s my age is %s' %(18,'egon'))
# print('my name is {name} my age is {age} '.format(age=18,name='egon'))
# 了解
# print('my name is {} my age is {} '.format(18,'egon'))
# print('my name is {0} my age is {1} '.format(18,'egon'))
# print('my name is {1} my age is {0} '.format(18,'egon'))
#5、split,rsplit
# msg='a:b:c:d:e'
# print(msg.split(':',1))
# print(msg.rsplit(':',1))
#6、join
# msg='a:b:c:d:e'
# list1=msg.split(':')
# msg1=':'.join(list1)
# print(msg1)
# info='egon:123:male'
# list1=info.split(':')
# print(list1)
# print(':'.join(list1))
#7、replace
# msg='alex is alex alex is hahahaha'
# print(msg.replace('alex','SB',1))
#8、isdigit
# print('123'.isdigit()) # 只能判断纯数字的字符串
# print('12.3'.isdigit())
==========================================================================================================
03列表类型 list 存多个值 有序 可变
1、按索引存取值(正向存取+反向存取):即可存也可以取
li=['a','b','c','d']
print(li[-1])
li[-1]='D'
print(li)
# li[4]='e'
del li[0]
print(li)
2、切片(顾头不顾尾,步长)
li=['a','b','c','d']
print(li[0:3])
3、长度
print(len(li))
4、成员运算in和not in
users=['egon','lxx','yxx','cxxx',[1,2,3]]
print('lxx' in users)
print([1,2,3] in users)
print(1 in users)
5、追加
li=['a','b','c','d']
print(id(li))
li.append('e')
li.append([1,2,3])
print(li,id(li))
6、删除
li=['a','b','c','d']
按照元素值去单纯地删除某个元素
del li[1]
res=li.remove('c')
print(li)
print(res)
按照元素的索引去删除某个元素并且拿到该元素作为返回值
res=li.pop(1)
print(li)
print(res)
7、循环
li=['a','b','c','d']
for item in li:
print(item)
需要掌握的操作
li=['a','b','c','d','c','e']
print(li.count('c'))
li.extend([1,2,3])
li.append([1,2,3])
print(li)
print(li.index('z'))
print(li.index('b'))
print(li.index('d',0,3))
li.insert(1,'egon')
print(li)
li=[3,1,9,11]
li.reverse()
print(li)
li.sort(reverse=True)
print(li)