set 无序,不重复
{1,2,3,4,5,6} - {3,4} -----> {1,2,5,6} 差集
{1,2,3,4,5,6} & {3,4} ------>{3,4}交集
{1,2,3,4,5,6} | {3,4,7} ------>{1,2,3,4,5,6,7}并集
定义空集:set()
dict 字典,key,value
{'a':'名字','b':'年龄'}['a'] = '名字'
{'a':'名字','b':'年龄',1:'性别'}[1] = '性别'
{(1,2,3):'名字','b':'年龄',1:'性别'}[(1,2,3)] = '名字'
key有限制,只能是不可变类型int、str、元组()
基本类型总结:
数字:
1)整形int 2)浮点型float 3)布尔型bool 4)复数complex
组:
1)序列 1.1字符串str 1.2列表 list 1.3元组tuple 有序,可用下标索引访问,切片操作[0:5]
2)集合 set 无序,没有索引,不能切片
3)字典 dict key:value键值对
值类型与引用类型
a =1
b=a
a = 3
print(b) 结果为1 int为值类型,指向的引用值不可改变,会指向新的地址
a = [1,2,3]
b=a
a[0] = ['1']
print(b) 结果为['1',2,3] list为引用类型,指向的引用值可改变,不会指向新地址
int,str,tuple(不可改变) 指向的引用值不可改变,会指向新的地址
list,set,dict(可改变) 指向的引用值可改变,不会指向新地址
列表的可变与元组的不可变:
a = (1,2,3,[1,2,4])
a[3][2] = '4'
print(a) ----->(1,2,3,[1,2,'4']) 改变的是列表里面值
比较运算符
示例:
b=0.5
b+=b>=1
print(b) --->b = 0.5
分析:b=b+b>=1 ----> b=b+false,false也是数字,为0,所以b=b+0 = 0.5
示例:
b=2
b+=b>=1
print(b) ---> b = 3
分析:b=b+b>=1 ----> b=b+true,int(true)等于数字1,所以b=b+1 = 3
对象的三个特征:
id(用is)、value(用==)、type(用isinstance)
判断类型
a=1
type(a) == int ----->true
判断a对象的类型是否是str,否
isinstance(a,str)---->false
判断a类型是否属于元组种的一种,true
isinstance(a,(int,str,float))--->true