1)集合的特征
集合是无序的,集合中的元素是唯一的,集合一般用于元组或者列表中的元素去重
集合的格式
变量名
=set(
元素,元素
)
变量名
={
元素,元素,,,
}
注意:下面写法为一个空字典,为空默认是字典,如果有数据在根据格式判断为字典还是集合
name={}
添加元素
add
![](https://img-blog.csdnimg.cn/61c0b2330f074fa9a5ebea1cd2550383.png)
update添加
![](https://img-blog.csdnimg.cn/776949390e7948e1aa91f8f179c12289.png)
删除元素
使用remove删除集合中的元素 如果有直接删除 如果没有程序报错
renmove
renmove 该元素不存在
pop
使用
pop
删除是随机删除集合中的元素 如果集合没有元素程序报错
![](https://img-blog.csdnimg.cn/1626d94010584539bb6d6e6862376543.png)
pop空元素
discard
使用
discard
删除 如果元素存在直接删除 如果元素不存在不做任何操作
![](https://img-blog.csdnimg.cn/db157401777843dab39c8cde334f20a3.png)
discard该元素不存在
集合的交集和并集
交集
使用
&
连接多个集合
,
得到相同的元素
存在相同元素
![](https://img-blog.csdnimg.cn/32007f30516741bca7e6b0d00eac8388.png)
存在相同元素
![](https://img-blog.csdnimg.cn/abb0660b8215488399a46e2e392c57c2.png)
并集
使用
|
连接多个集合
,
得到全部集合中全部的元素
公共方法
运算符
公共方法 (+)
![](https://img-blog.csdnimg.cn/ce6d8e7e0eb54bbfb0f88cbe38dc497c.png)
公共方法(*)
公共方法(in)
注意,in在对字典操作时,判断的是字典键
python中的内置函数
长度: len()
最大值:max()
删除del()
del有两种用法一种是del空格,另一种是del输出结果
函数
什么是函数
在开发程序时,需要某块代码多次,但是为了提高编写的效率以及代码的重用,所以把具有独立功能的代码块
组织为一个小模块,这就是函数
函数定义和调用
注意
定义了函数之后,就相当于有了一个具有某些功能的代码,想要让这些代码能够执行,需要调用它
调用函数很简单的,通过 函数名
()
即可完成调用
每次调用函数时,函数都会从头开始执行,当这个函数中的代码执行完毕后,意味着调用结束了
当然了如果函数中执行到了
return
也会结束函数
位置参数
![](https://img-blog.csdnimg.cn/ecc5f7cfc11d42969bb5417befdf8d47.png)
小总结
定义时小括号中的参数,用来接收参数用的,称为
“
形参
”
调用时小括号中的参数,用来传递给函数用的,称为
“
实参
”
关键字参数
![](https://img-blog.csdnimg.cn/f71a45c9428140eaae5489f09f39886a.png)
注意:参数调用时,可以改变传参顺序,如果有位置参数需要位置参数放在关键字参数前面
如果关键字参数传参要在位置参数之前,将会报错
缺省参数
在形参中默认有值的参数,称之为缺省参数
![](https://img-blog.csdnimg.cn/6932e3fdc43f4d8da2e9f08b47e608cb.png)
案例:
调用函数时,缺省参数的值传入
总结
调用函数时,缺省参数的值如果没有传入,则取默认值(形式参数),如果传入,则取实际参数
缺省参数一定要位于位置参数的最后面
不定长参数
有时可能需要一个函数能处理比当初声明时更多的参数
,
这些参数叫做不定长参数,声明时不会命名。
案例:
不定长参数
* args
![](https://img-blog.csdnimg.cn/bdb07b6e1079430ea6b886914d595119.png)
案例:
* args不能接收key=value类型的参数
![](https://img-blog.csdnimg.cn/0b2b46d68f694e0299956c3e70e9b139.png)
案例:
不定长参数* * kwargs
![](https://img-blog.csdnimg.cn/08ae11c2290744f8a4d87278af62d2ce.png)
案例:
* * kwargs不能接收未命名的变量参数
![](https://img-blog.csdnimg.cn/7897742e49d34d4a9a9d8a05e91ea0ea.png)
参数位置顺序
![](https://img-blog.csdnimg.cn/a618b9ada2064e668243796586beed1c.png)
注意
:
•
如果很多个值都是不定长参数,那么这种情况下,可以将缺省参数放到
*args
的后面, 但如果有
**kwargs
的话,
**kwargs
必须是最后的
返回多个数据
![](https://img-blog.csdnimg.cn/482f839e9a98416e9979c038f723a0cd.png)
函数类型
分类
1.
无参数,无返回值
2.
无参数,有返回值
3.
有参数,无返回值
4.
有参数,有返回值
无参数,无返回值的函数
此类函数,不能接收参数,也没有返回值,一般情况下,打印提示灯类似的功能,使用这类的函数
![](https://img-blog.csdnimg.cn/001eb50e0515415bbd9ec27e6ef4c34d.png)
无参数,有返回值的函数
此类函数,不能接收参数,但是可以返回某个数据,一般情况下,像采集数据,用此类函数
def getTemperature ():# 这里是获取温度的一些处理过程# 为了简单起见,先模拟返回一个数据return 24
有参数,无返回值的函数
•
此类函数,能接收参数,但不可以返回数据,一般情况下,对某些变量设置数据而不需结果时,用此类函数
有参数,有返回值的函数
•
此类函数,不仅能接收参数,还可以返回某个数据,一般情况下,像数据处理并需要结果的应用,用此类函
# 计算 1~num 的累积和(案例需实际演示)def calculateNum ( num ):result = 0i = 1while i < = num :result = result + ii += 1return result
函数的嵌套
一个函数里面又调用了另外一个函数,这就是所谓的函数嵌套调用
![](https://img-blog.csdnimg.cn/b5f7aab717b04f81b0a6eb2cc0175fb3.png)
注意:如果函数
A
中,调用了另外一个函数
B
,那么先把函数
B
中的任务都执行完毕之后才会回到上次 函数
A
执 行的位置
匿名函数
![](https://img-blog.csdnimg.cn/a6f0f1b2466246e799d8563746492b2d.png)
注意:
lambda函数可以赋值给变量,默认是返回的,所以不用再加return关键字
变量
局部变量
定义
局部变量,就是在函数内部定义的变量
约束
其作用范围是这个函数内部,即只能在这个函数中使用,在函数的外部是不能使用的
def
test1
():
a
=
120
print
(
"
我是局部变量
a:"
,
a
)
a
=
240
print
(
"
修改之后的局部变量
a:"
,
a
)
def
test2
():
a
=
360
print
(
"
我是
test02
函数中的局部变量
a"
,
a
)
test1
()
test2
()
我是局部变量 a: 120修改之后的局部变量 a: 240我是 test02 函数中的局部变量 a 360
注意
:
局部变量的作用,为了临时保存数据需要在函数中定义变量来进行存储
当函数调用时,局部变量被创建,当函数调用完成后这个变量就不能够使用了
全局变量
定义
在函数外边定义的变量叫做全局变量
约束
全局变量能够在所有的函数中进行访问
![](https://img-blog.csdnimg.cn/93604123e2f947e4b3734392015cdec1.png)
全局变量和局部变量名字相同
![](https://img-blog.csdnimg.cn/d7731532833b4eb1b408aec3323c203e.png)
注意:函数中的变量修改不会导致全局变量改变
全局变量的修改
代码
:global
的使用
![](https://img-blog.csdnimg.cn/afd5d025a4e042fd8a6620538a98c620.png)
注意
:
在函数中出现
global
全局变量的名字 那么这个函数中即使出现和全局变量名相同的变量名
=
数据 也理解为对全局变量进行修改,而不是定义局部变量