集合是无序的,集合中的元素是唯一的,集合一般用于元组或者列表中的元素去重。
定义一个空集合 ?
set1 = set()
注意以下写法为一个空字典,为空默认是字典,如果有数据在根据格式判断 ?
set2 = {}

添加元素(add,update)?

?删除元素(remove,pop,discard)
remove:使用remove删除集合中的元素 如果有 直接删除 如果没有 程序报错

?pop:使用pop删除是随机删除集合中的元素 如果set1没有元素讲程序报错

?discard:使用discard删除 如果元素存在 直接删除 如果元素不存在 不做任何操作

集合的交集和并集?
交集和并集( & 和 | )
交集:?相同的数据
并集:所有元素不包含重复的

?函数
定义函数 定义函数的格式如下:
def 函数名():
? ? ? ? 代码
函数名()

?调用函数
调用函数很简单的,通过 函数名() 即可完成调用

函数参数

调用函数时参数的顺序?
小总结 定义时小括号中的参数,用来接收参数用的,称为 “形参”
调用时小括号中的参数,用来传递给函数用的,称为 “实参”
位置参数 :

?关键字参数:
参数调用时,可以改变传参顺序,如果有位置参数需要位置参数放在关键字参数前面

?缺省参数:
在形参中默认有值的参数,称之为缺省参数
调用函数时,缺省参数的值如果没有传入,则取默认值(形式参数),如果传入,则取实际参数

?注意:缺省参数一定要位于位置参数的最后面,如果带有默认值的参数位于位置参数之前,运行将会报错
不定长参数
有时可能需要一个函数能处理比当初声明时更多的参数, 这些参数叫做不定长参数,声明时不会命名
加了*号的为元组,加两个**为字典?
不定长参数* *

?参数分类

?参数类型2:
?缺省参数在*args后面

?说明: 如果很多个值都是不定长参数,那么这种情况下,可以将缺省参数放到 *的后面, 但如果有**的话,**必须是最后的,假如缺省参数在*前面,就会报错
函数返回值
所谓“返回值”,就是程序中函数完成一件事情后,最后给调用者的结果
带有返回值的函数

?保存函数的返回值

一个函数中可以有多个return语句,但是只要有一个return语句被执行到,那么这个函数就会结束了,因此后面的return没有什么用处

?一个函数返回多个数据
总结2: return后面可以是元组,列表、字典等,只要是能够存储多个数据的类型,就可以一次性返回多个数据

?如果return后面有多个数据,那么默认是元组
函数类型
无参数,无返回值的函数

?无参数,有返回值的函数

?函数的嵌套调用
如果函数2中,调用了另外一个函数1,那么先把函数1中的任务都执行完毕之后才会回到上次 函数2执行的位置
思考&实现2
写一个函数求三个数的和

写一个函数求三个数的平均值

?局部变量
局部变量,就是在函数内部定义的变量 其作用范围是这个函数内部,即只能在这个函数中使用,在函数的外部是不能使用的
局部变量的作用,为了临时保存数据需要在函数中定义变量来进行存储 当函数调用时,局部变量被创建,当函数调用完成后这个变量就不能够使用了
?全局变量
总结: 在函数外边定义的变量叫做全局变量
全局变量能够在所有的函数中进行访问

全局变量和局部变量名字相同的情况介绍
总结: 当函数内出现局部变量和全局变量相同名字时,函数内部中的 变量名 = 数据 此时理解为定义了一个局部变量,而不是修改全局变量的值
全局变量的修改
如果在函数中出现global 全局变量的名字 那么这个函数中即使出现和全局变量名相同的变量名 = 数据 也理解为对全局变量进行修改,而不是定义局部变量

?匿名函数
lambda函数也叫匿名函数,即函数没有具体的名称 ?? ?lambda函数可以赋值给变量,默认是返回的,所以不用再加return关键字

?课堂作业
写一个函数求三个数的和,并返回结果
写一个函数求三个数的平均值,并返回结果
?
再写一个函数求每个数与平均值之间的差,并返回结果

?
|