可变不可变类型和三个数据类型。
一、可变不可变类型:
可变类型:值变了,但是id没有变,证明没有生成新的值而是在改变原值,原值是可变类型。
例子:y=['a','b','c']
y[0]='A'
两个数组的id是相同的,所以是可变类型
不可变类型:值变了,id也跟着变,证明是生成了新的值而不是在改变原值,原值是不可变。
例子:x=10
x=11
两个x的id是不一样的,所以是不可变类型
二、数字类型
主要有两大类:
1.整型int
(1)用途:记录年龄、等级、各种号码
(2)定义方式:
age = 18 # age = int(18)
int函数只能将纯数字的字符转换成整型
(3)常用操作+内置的方法
赋值比较算术
2.浮点型float
(1)用途:记录身高、体重、薪资
(2)定义方法
salary = 3.1 # salary = float(3.1)
(3)常用操作+内置的方法
赋值比较算术
三、字符串类型
(1)用途:记录描述性质的特征,比如名字、地址、性别
(2)定义方式:在单引号双引号三引号内包含的一串字符
msg = ' aaa "bbb" ' #msg = str(...)
(3)常用操作+内置的方法
优先掌握的操作(*****):
1.按索引取值(正向取+反向取):只能取
例子:msg = 'hello world'
print(msg[0])
print(msg[-1])
2.切片(顾头不顾尾,步长):想要从一个大字符串中切出一个小字符串
msg = 'hello world'
msg[0:5]
msg[0:5:2]
3.长度len
len(msg)
4.成员运算in和not in
‘字符串’ in msg
如果在里面,返回值为True,否则为False
5.移除字符串左右两边的字符strip:默认去空格
例子:pwd = ' 1 23'
res = pwd.strip()
结果为1 23
pwd='****/&^**123**^*/*&'
print(pwd.strip('*/&^'))
print(pwd.strip('*/&')) #^**123**^
6.切分split:针对有规律字符串按照某个字符切成列表
info = 'yyhdsb|18|female'
li = info.split('|')
print(li) #结果为['yyhdsb','18','female']
7.循环
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('AAAbbb'.lower)
print('AAAbbb'.upper)
3、startswith,endswith
print('alex is sb'.startswith('alex'))
print('alex is sb'.endswith('sb'))
4.format的三种玩法
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 {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)
7.replace
msg = 'alex is alex alex is hahahaha'
print(msg.replace('alex','SB',1))
8.isdigit
print('123'.isdigit()) #只能判断纯数字的字符串
四、列表类型
(1)用途:记录多个值,比如人的多个爱好
(2)定义方法: 在[]内用逗号分隔开多个任意类型的值
li = [1,2,3] # li = list([1,2,3])
(3)掌握操作+内置的方法
1、按索引存取值(正向存取+反向存取):即可存也可以取
li = ['a','b','c','d','e']
print(li[-1])
li[-1] = 'D'
print(li)
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')
print(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)