DAY5 基本数据类型及内置方法
一.可变与不可变数据类型
1.可变类型:值改变,但是id不变,证明就是在改变原值,是可变类型
2.不可变类型:值改变,但是id也跟着变,证明是产生了新的值,是不可变类型
二.数字类型
1.整型int
======================================基本使用======================================
1.用途:记录年龄、等级、数量
2.定义方式: age = 18 # age = int(18)
数据类型转换: 只能将纯数字的字符串转成int
x=int('123123')
print(x,type(x))
x=int('12.3')
3.常用操作与内置方法
进行数学计算
2.浮点型 float
======================================基本使用======================================
1.用途:记录身高、体重、薪资
2.定义方式: hight = 64.5 # hight = float(64.5)
数据类型转换: 只能将包含小数的字符串转成float
x=float('3.1')
print(x,type(x))
3.常用操作与内置方法
进行数学计算
======================================该类型总结====================================
存一个值
不可变
三.字符串类型
======================================基本使用======================================
1.用途:记录描述性质的状态
2.定义方式: 在单引号、双引号、三引号内包含一串字符
msg = "hello" # msg = str("hello")
数据类型的装换:所有类型都可以被str转换成字符串类型
res =str[1,2,3]
print(res,type(res))
3.常用操作与内置方法
优先掌握的操作:
3.1 按索引取值(正反向取):只能取
msg = "hello"
print(msg[0])
peint(msg[-1])
3.2 切片(顾头不顾尾,步长)
msg = "hello world"
res = msg[0:3:1] # 0 1 2
res2 = msg[::2] # 0 2 4 6 8 10
res3 = msg[::-1] # 反转列表
3.3 长度 len
msg = "hello world"
len(msg) #字符串的长度(包含值的个数)
3.4 成员运算 in和 not in:判断一个字符串是否存在与大字符串中
msg = "hello world"
print("he" in msg) # True
print("aaa" not in msg) # True
3.5 移除空白(strip):用来去除字符串左右两边的字符不指定是默认去除空格
msg = " hello "
res = msg.strip()
print(res) # 结果为 "hello"
print("****egon**+\/#@".strip("*+\/#@")) # 也可以指定去除的字符
3.6 切分split:针对有规律的字符串,按照某种分隔符切成列表
info = "egon:18:male"
res = info.split(":") # 结果为["egon",18,"male"]
组合join 将纯字符串列表拼接成一个字符串
l = ["egon","18","male"]
res = ":".join(1) # "egon:18:male"
3,7 循环
for item in "hello"
print(item)
需要掌握的操作
1.strip,lstrip,rstrip
用法与stirp相同 lstrip移除字符串左边空格或特殊字符,
rstrip移除字符串右边空格或特殊字符
2.lower、upper
lower:将字符串所有英文小写
upper:将字符串所有英文大写
3.startswith、endswith
startswith:判断字符串是否以XXX开头
endswith:判断字符串是否以XXX结尾
4.format的三种方法
res='my name is {name} my age is {age}'.format(age=18,name='egon')
res='my name is {} my age is {}'.format('egon',18)
res='my name is {0}{1} my age is {1}{1}{1}{1}'.format('egon',18)
5.split、rspilit
split:从左切分
rsplit:从右切分
6.replace 替换
msg = "kevin is kevin is ...."
res = msg.replace("kevin","sb",1) # 替换1次
7.isdigit
判断字符串是否右纯数字组成 返回bool值
======================================该类型总结====================================
1.存一个值
2.有序
3.不可变
四.列表类型
======================================基本使用======================================
1.用途:按照位置记录多个值,索引对应值
2.定义方式: 在[]内用逗号分隔开多个任意类型的值
l = [1,11.3,"egon"] # l = list[1,11.3,"egon"]
数据类型的装换:凡是能被for循环遍历的数据类型都可以传给list,被其转换为列表
res = list("hellw")
res = list(123)
3.常用操作与内置方法
优先掌握的操作
3.1 按索引存取值(正向存取、反向存取),即可存也可取
l = ['a','b','c','d','e']
print(l[0])
print(l[-1])
强调 :对于不存在的索引会报错
3.2 切片(顾头不顾尾,步长)
l = ['a','b','c','d','e']
print(l[1:4]) #取出第2到第4的值
print(l[::-1]) #反向取值
3.3 长度
l = ['a','b','c','d','e']
print(len(l)) # 输出为 5
3.4 成员运算 in和 not in
l = ['a','b','c','d','e']
print("a" in l) # 结果为 True
3.5 追加与insert
l = ['a','b','c','d','e']
l.append("xxx")
l.append("yyy")
#在列表末尾加上xxx,yyy
l.insert(0,"xxx") #在索引0前加xxx
3.6 删除
l = ['a','bbb','c','d','e']
1.del:是一种通用的删除操作,没有返回值
del l[0]
2.remove(指定要删除的那个元素),没有返回值
res = l.remove("bbb")
3.pop(指定要删除的那个元素的索引),返回刚刚删掉的那个元素
l.pop(-1) #删除列表最后一个元素
3.7 循环
l = ['a','b','c','d','e']
for item in l:
print(item0
队列:先进先出
l=[]
入队
l.append('first')
l.append('second')
l.append('third')
print(l)
出队
print(l.pop(0))
print(l.pop(0))
print(l.pop(0))
堆栈:后进先出
l=[]
入队
l.append('first')
l.append('second')
l.append('third')
print(l)
出队
print(l.pop(-1))
print(l.pop(-1))
print(l.pop(-1))
需要掌握的操作:
1.clear() #清除列表内所有值
2.reverse() # 反转列表
3.extend() # 将另一个列表值加到列表末尾
4.sort() # 排序(只有在类中所有元素都是同种类型的情况下才能用sort排序)
======================================该类型总结====================================
1.存多个值
2.有序
3.可变