一、set集合
定义:set集合是一个无序的集合,它只存储了字典的key.
set集合中元素的特点:
1.不重复
2.无序的
3.不可变
创建set集合:
1.set1 = set() #创建一个空的set集合
2.set2 = {1,2}
3.set3 = set((1,2))#set2与set3得到的结果是相同
添加元素:
set1.add(ele)
使用此方法,我们只能添加不可变类型对象,若出现重复,不会报错,只是不会有任何效果
set1.update(iter)
使用此方法,我们添加可迭代对象[一维的列表,字典,set] ,打碎插入.
删除元素:
set1.remove(ele)
删除指定的元素
遍历集合:
for x in set1:
pass
交集与并集:
交集 newest = set1 & set2
并集 newest = set1 | set2
二、类型转换
-
list,tuple,set之间可以相互转换
-
dict可以转为list,tuple,set,只转了key
-
若想实现list,tuple,set转为dict,要借助于zip()函数
zip()函数,它可以将传进入的序列进行打包.
三、列表生成式
本质:就是for循环强制性的写在一行,把结果写在for前面,并且使用[]括起来
例如:
[res1 if 判断条件 else res2 for x in range(n)]
四、迭代器与可迭代对象 、生成器
可迭代对象:
可以作用于for循环的对象,我们统称为可迭代对象
常见的可迭代对象: str/list/tuple/dict/set
迭代器:
不但能够作用于for循环,还可以被next()函数调用的对象,我们称之为迭代器
常见的迭代器: 生成器
判断某个对象是否属于某种类型:isinstance( obj,type )
可迭代对象转为迭代器: iter()
迭代器一定是可迭代对象,可迭代对象不一定是迭代器
生成器:
本质:具有一边循环,一边计算的功能,可以不断迭代出下一个元素
创建:将列表生成式的[]换成()
五、函数
定义:在项目开发的过程中,有些功能会重复使用,我们会将重复使用的代码封装成函数,在需要的时候调用即可
优点:
1.提高代码的复用性,简化了代码结构
2.增强代码的可维护性
语法:
def 函数名(参数列表):
函数体
return 表达式/值/变量
def:声明函数的开始
函数名:遵循标识符的命名规则
参数列表:看需求可以有也可以没有,当出现多个的时候,参数与参数之间使用逗号隔开
return:返回数据给调用的函数,结束函数.若return没写的情况下,默认return None
万能函数:
def func(*args,**kwargs):
pass
函数的参数:
位置参数: 也称必须参数:与传递参数的顺序是有关系的
关键字参数: 可以清除位置关系,但是传参的时候,需要使用键值对的方式来进行传参
默认参数: 在定义函数的过程中,可以给某些参数添加默认值,在函数调用的过程中,我们可以传递此参数,也可以不传 递,若传递则使用传递的数值 ,若不传递则使用默认值
定义的时候,默认参数一定写在位置参数后面,并且指向不可变类型
函数传参过程:
形参: 定义函数的时候,参数列表中的参数
作用:接受实参传递过来值
实参: 调用函数的时候,传递的参数
作用:给形参传递参数
函数传参的本质:实参给形参赋值的过程,
若传递的不可变类型,这个传参是一个值传递,
若传递的是一个可变类型,这个传参就是引用传递[传递的就是地址].