数据类型int:记录整数事物状态
可变不可变:值不可变类型,改变变量值实则是改变了变量的指向
int():功能:1、工厂函数, i = 5 <==> i = int(5)
2、强制类型转换,i = int("5") ==> i= 5
常用方法:int.bit_length() 返回int变量所占二进制位数
数据类型float:用于记录浮点型事物状态,如身高,体重等带小数点的属性
可变不可变:值不可变类型,改变变量值实则是改变了变量的指向
float():功能:1、工厂函数, i = 5 .0<==> i = float(5)
2、强制类型转换,i = float("5.0") ==> i= 5.0
int()和float都可以进行 +、- 、* 、/、//、%、**、%=、/=、//= 等数学运算以及 ==、<、>、!=、<= 、>=等比较运算
数据类型str:记录可描述性事物状态
可变不可变:值不可变类型,改变变量值实则是改变了变量的指向
str():功能:1、工厂函数,i = “egon” <==> i = str("egon")
2、强制类型转换, i = str(555) ==>i = "555"
常用操作:i = “abcdef”
索引取值:i[1] = "b"
切片:i[1:5:2] ==> "bd"
循环:for i in i:print(i)
>>>
a
b
c
d
e
f
常用方法:strip(指定去除字符) #去除首尾字符,默认为空格
replace(old,new,num) #用子字符串替换字符串中的某些字符,可指定替换个数
split(指定分隔字符,num) # 按指定字符分隔字符串,可指定分隔次数,默认从左到右分隔,从右到左分隔可用rsplit()
str.join(iterable) #将可迭代对象元素按用str连接成字符串,注意可迭代对象元素必须是字符串类型,否则报错
endswith(指定字符,start,end) #判断是否以指定字符开头,可指定索引起终止位置
startswith()#判断是否以指定字符结尾,可指定索引起终止位置
upper() #字符串字母大写
lower()#字符串字母小写
isdigit() #判断字符串是否由纯数字组成
find(指定字符,start,end) # 返回字符在字符串中的起始索引 可指定起始位置索引,找不到返回-1
index(指定字符,start,end)#返回字符在字符串中起始位置索引,可指定起始位置索引,找不到报错
.....
总结:所有对字符串的操作都是返回了新的值,原字符串不改变
数据类型list:存储多元素的容器
可变不可变:元素值可变类型,修改列表内部值不影响列表的内存地址
list常用操作:L=[“a”,4,“egon”,18]
索引取值:L[0] = "a"
修改元素值:L[0] = “b” ==> L = ["b",4,"egon",18]
切片:L[1:3:1] ==> [4,"egon"]
删除:del[0],L.pop(索引)#返回被删除元素 L.remove(元素)
循环:for i in L:print(i)
常用方法:append(元素) #尾部追加
insert(索引,元素)#指定位置插入
reverse()#元素位置反转
extend(iterable) 追加可迭代对象所有元素
index(obj,start,end)查找指定元素,返回找到位置索引值,可指定起始终止位置索引,没找到报错
clear() 清空列表
copy() 浅拷贝,原列表嵌套列表,修改被嵌套的列表值时,copy出的列表相应的嵌套列表会被同步修改
如果想copy前后的列表完全无关可以用深拷贝:import copy s = copy.deepcopy(list)
sort(key = 函数,reverse)按函数返回结果排序,可指定排序顺序
数据类型字典dict:存储一系列带属性类型元素 key:value形式
可变不可变:可变类型
常用操作:dic = {“name”:"egon","age":18}
1、根据key取值,dic["name"] ==>"egon"
dic.get(key,default = None) 返回指定key 的值,如果指定的key不在字典中则返回默认值None,默认值可修改
dic.setdefault(key,default = None) 返回指定key的值,如果指定key不在字典中则返回默认值并新增键值对
2、增、修改值:dic["hobby"] = "basketball" ,如果字典包含key“hobby”,则覆盖原数据,如果没有则新增
dic.update(dict) 将dict键值对加到dic中,如有重复key则覆盖
dic.fromkeys(sqe,None) 批量添加key,sqe为可迭代对象,元素为新增的key,默认值None,可指定
3、删除:popitem() 随机删除一对键值对并以元组形式返回该键值对,对空字典用此方法会报错
pop(key) 删除指定key键值对并返回value
4、循环:for i in dic: 《==》 for i in dic.keys:
dic.keys\dic.values\dic.items不是列表,但是个迭代器,可以被循环,可以强制转换为list
数据类型tuple:存储一系列不可修改元素
可变不可变:不可变,如果元素为可变类型,元素内部值是可修改的
常用操作:t = (1,2,3,4,5)
索引取值:t[1] = 2
切片:t[1:4:2] ==>(2,4)
循环:for i in t:
常用方法:
count(x),返回x在元组中出现的次数
index(x,start,end)返回x在元组指定范围的索引值,可指定起终点索引
数据类型set:数据具有唯一性
可变不可变:可变
有序无序:无序,不可取值
常用操作:s1 = {1,2,3,4} s2 = {3,4,5,6}
新增:s1.add(元素),s1.update(s2)
删除:clear()清空set,pop()随机删除并返回值
remove(元素) 删除指定元素
复制:copy()
常用运算:
& 交集
s1 & s2 ==》{3,4}
| 并集
s1 | s2 ==>{1,2,3,4,5,6}
- 差集
s1 - s2 ==》{5,6}
^ 对称差集
s1 ^ s2 ==》 {1,2,5,6}
常用方法:
s1.isdisjoint(s1) 判断是否没有交集,没有返回True 有返回Flase
s1.issubset(s2) 判断是都是s2的子集
s1.issuperset(s2) 判断是否是s2的父集