基础第九讲—集合与函数

一、集合简介 (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就是参数的值
基础第九讲—集合与函数

参数的解包

所有的序列都可以解包,要求序列中的元素与形参个数一致
基础第九讲—集合与函数