集合与函数

集合与函数

集合(set)

集合也是python中的一种数据结构,但是一般不常用,表现形式是set,与列表基本一致,但在以下方面又与列表不同:
1.集合只能存储不可变对象(int,str,bool,tuple);
2.集合存储的对象是无序的(意味着通过index取集合中的值无法实现);
3.集合中没有重复的元素(选用set的实际情形之一)

创建集合

使用{}来进行创建或者通过set()函数来进行创建。如

在这里插入图片描述
注意:set()函数可以将列表以及字典转化成set,转化字典时,set内只有key值,没有value值!
在这里插入图片描述

集合的使用

检查某个值是否在/不在set中(in / not in)

会得到一个bool类型的返回值。

集合的方法

1.len()获取集合元素的个数;
2.add()可以向集合中添加元素;如s.add(6),将6添加进s集合中去
3.update()将一个集合中的元素添加到集合中去;如s.update(s1),将是s1添加进s集合中去
4.pop()随机删除集合中的一个元素,返回被删除的元素值;如:
在这里插入图片描述
5.remove()删除set中指定的元素;如s.remove(1),将集合s中的1删除掉。
6.clear()清空集合;如s.clear(),将集合s中所有的元素都清空,那么此时set是一个none类型。

集合的运算

几个概念

1.并集 s1 & s 2 得到一个包括是s1 s2所有元素的集合;
2.交集 s1 | s2 得到一个即属于s1又属于s2元素的集合;
3.差集 s1 - s2 得到一个s1中剔除掉交集元素的集合
4.亦或集 s1 ^ s2 得到一个并集并剔除掉交集元素的集合

函数(function)

函数的简介

函数是可以实现一些特定功能的小方法或是小程序,也是一个对象,对象是内存中专门用来存储数据的一块区域。函数可以用来保存一些可执行的代码,用以在需要的时候进行多次调用。

函数的创建

语法:
def 函数名([形参1,形参2,形参3…])
代码块

在这里插入图片描述
注意:函数名info是对象,它存储的内存地址见上图,而info()则是调用函数。

函数的参数

在定义函数的时候,可以在函数名后面的括号里面定义数量不等的形参,多个形参我们用,号隔开,形参(形式参数)定义形参就是相当于在函数内部定义了变量,但是并没有赋值;实参(实际参数)函数定义时指定了形参,那么调用函数的时候也必须传递实参,实参将会赋值给对应的形参,有几个形参就传几个实参。

函数的参数传递方式

1.默认值参数,在定义形参时,我们可以指定默认值参数,比如c=10,当我们在给调用函数时给c传参,那么c的值会变成我们传的值,如果不给c传参,那么c的值为默认值,注意默认值参数必须放在形参的后面;
在这里插入图片描述
2.位置传参
位置传参就是将对应位置的实参传递给对应位置的形参。

3.关键字传参
关键字传参可以不按照形参定义的顺序去传参,而根据参数名来传递参数。
在这里插入图片描述
注意:位置传参可以和关键字传参混合使用,但是关键字传参必须放到位置传参之后,否则会报错。如:
在这里插入图片描述

实参的类型

函数在调用的时候,解释权不会检查实参的类型, 实参的类型可以是任意的对象

实参的类型

1.在函数中对形参进行重新赋值是不会改变实参,比如形参a的id与实参c的id就不是同一地址。
在这里插入图片描述
2.如果形参在执行的时候,当我们通过形参去修改对象时,会影响到指向该对象的变量。
在这里插入图片描述

不定长参数

1.在定义函数的时候,可以在形参的前面加上一个*,这样这个形参将会获取到所有的形参,它会将所有的实参保存到一个元祖中。如:
在这里插入图片描述
在调用函数时,a就是元组tuple(1,2,5,7,9,11)。
2.可变长参数不是必须要写到最后的,但是注意 带的参数后面的参数,必须以关键字的形式传参。若果在形参的开头直接写一个,则要求我们但是所有的参数要以关键字的形式来传递
在这里插入图片描述
3. (**形参可以接收其他的关键字参数,它会将这些参数统一保存到一个字典当中,字典当中的key是参数的名字,字典当中的value是参数的值,**形参只能有一个,并且必须写在最后面)

在这里插入图片描述

参数解包

要求序列中的元素的个数必须和形参的个数一致
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值