一、集合简介 (set)
1.与列表基本一致
2.与列表不同点:①只能存不可变的对象
②无序性(插入的与储存顺序不一致)
③不能重复出现(自动省略重复的,只出现第一个)
#创建集合
①使用 {} 空集合不能用这个创建 s = set()是字典
② 用 set()函数来创建 (可以把序列与字典转换成集合,但是字典只能打印其键)
注:set 没有索引值,若想取元素要先将其转换成列表
#集合的使用
①in 与 not in 检查是否在set里并且返回一个bool值
②len() 个数(长度)
③add() 添加元素
④update() 将一个集合的元素添加到当前函数中
⑤pop() 随机删除一个元素 有返回值
⑥remove() 删除指定的值 remove(值)
⑧clear() 清空集合
#集合的运算
a = {1,2,3,4,5}
b = {3, 4,5,6,7}
①&交集 如 a & b {4,5}
②Ⅰ 并集 如 a ^ b {1,2,3,4,5,6,7}
③-差集 分两种情况 但总是打印 减数里面没有的元素
1. a - b 得{1 , 2}
2. b - a 得{6,7}
④^亦或集 就是两个集合不一样的元素
如: a ^ b 得{1,2,6,7}
⑤ <= 检查一个集合是否是另一个集合的子集 同时返回一个bool 值
⑥ < 是否是真子集
⑦ >= 是否是超集
⑧> 是否是真超集
二、 函数 (function)
函数简介
1.函数也是对象 2.对象是内存中专门用来存储数据的一块区域 3.用来保存可执行代码并多次调用
#语法 def 函数名( [形参]) : (注: 形参可多个) 代码块
def fn( ): print(‘hello’) print(fn) 得 fn的内存地址 fn() 得 hello
总结:fn 是函数对象 ,fn( ) 是调用函数
函数的参数
1.可以多个形参(就相当于函数内部定义了变量) 2. 有几个形参就要传几个实参(实际函数就是函数定义时指定形参,那么调用函数的时候也必须传递实参)
函数的传递方式
1.定义形参的时候,可以为形参定义一个默认值 2.指定的默认值以后,如果用户传递参数,则默认值不会产生任何作用 3.如果用户没有传递参数,那么默认值将生效
①位置传参:将对应位置的实参传递给形参 如: def fn(a=2,b=5,c=9): 若 fn(1,2,3) 得a=1,b=2,c=3
②关键字传参:可以不按形参定义的顺序,而根据参数名传参
③位置传参和关键字传参可以混合使用,但必须把位置传参放在前面
实参的类型
1.函数在调用的时候,解释器不会检测实参的类型,实参可以是任意对象 2. 在函数中对形参进行重新赋值不会影响 其他的变量 3.如果形参在执行的时候,当我们通过形参去修改对象的时候,就会影响到指向该对象的变量
不定长参数
1.在定义函数时,可以在形参的前面加上一个*号,这个形参将获取所有的实参,保存在元祖内 2.可变参数不必须写在最后,但*号后面要用关键字默认值
3.也可以两个*号,但是只能有一个并且只能放最后,保存在字典中,字典中key就是参数的名称,value就是参数的值
参数的解包
所有的序列都可以解包,要求序列中的元素与形参个数一致