集合
集合的特征
集合是无序的,集合中的元素是唯一的,集合一般用于元组或者列表中的元素去重
集合的格式
变量名=set()
变量名.add(元素)
必须不能初始化值
添加元素
add
nums={11,24,45,96,28}
nums.add(42)
print(nums)
update
nums={11,24,45,96,28}
nums2=["anfly","tom"]
nums.update(nums2)
print(nums)
删除元素
remove,pop,discard
nums={11,24,45,96,28}
nums.remove(24)
print(nums)
pop
1、如果集合的元素都是数字, 删除时, 删掉的是最小的数字, 其余数字升序排列
2、如果集合的元素是非数字, 删除时, 删掉的是随机的元素, 其余元素随机排列
3、如果集合里既有数字又有非数字元素, 删除时:
若删掉的是数字, 则一定是删掉了最小的, 其他数字升序排列, 非数字元素随机排列;
若删掉的非数字, 则一定是随机删掉了一个, 其他数字升序排列, 非数字则随机排列.
如果集合没有元素程序报错
discard
使用discard删除 如果元素存在直接删除 如果元素不存在不做任何操作
集合的交集和并集
交集
使用&连接多个集合,得到相同的元素
set1={"anfly","tom","haha"}
set2={"anfly","susala"}
set3=set1&set2
print(set3)
并集
使用|连接多个集合,得到全部集合中全部的元素
set1={1,2,3,4}
set2={3,4,5,6}
new_set=set1|set2
print(new_set)
函数
什么是函数
在开发程序时,需要某块代码多次,但是为了提高编写的效率以及代码的重用,所以把具有独立功能的代码块组织为一个小模块,这就是函数
函数定义和调用
def函数名():
执行语句
函数名()
defhello():
print("hello word")
hello()
函数参数
defadd2num():
a=11
b=22
c=a+b
printc
位置参数
def函数名(参数1,参数2):
代码块
函数名(值1,值2)
deffun(a,b):
print("a:",a)
print("b:",b)
fun(2,3)
关键字参数
def函数名(参数1,参数2):
代码块
函数名(参数1=值1,参数2=值2)
deffun(a,b):
print("a:",a)
print("b:",b)
fun(a=2,b=3)
缺省参数
在形参中默认有值的参数,称之为缺省参数
defprintinfo(name,age=20):
print("name:",name)
print("age:",age)
printinfo(name="anfly")
不定长参数
有时可能需要一个函数能处理比当初声明时更多的参数, 这些参数叫做不定长参数,声明时不会命名。
defprintinfo(*args,**kwargs):
print("args:",args)
print("kwargs:",kwargs)
printinfo(参数)
参数位置顺序
deffun(位置参数,*args,缺省参数,**kwargs):
代码块
fun(参数值)
defsun(a,*args,b=22,**kwargs):
print("a:",a)
print("args:",args)
print("b:",b)
print("kwargs:",kwargs)
sun(100,200,300,b=2,m=3,n=4)
函数返回值
defsum():
代码块
return值sum()
defcreate_nums(num):
print("---1---")ifnum==100:
print("---2---")returnnum+1
print("return执行之后不会继续执行")
print(“1231223")else:
print("---3---")
returnnum+2
print("---4---")result1=create_nums(100)
print(result1)
101result2=create_nums(200)
print(result2)
返回多个数据
defdivid(a,b):
shang=a//b
yushu=a%b#
returnshang,yushu
result=divid(5,2)
print(result)
函数类型
1. 无参数,无返回值
2. 无参数,有返回值
3. 有参数,无返回值
4. 有参数,有返回值
无参数,无返回值的函数
此类函数,不能接收参数,也没有返回值,一般情况下,打印提示灯类似的功能,使用这类的函数
defprintMenu():
print('--------------------------')
print(' xx涮涮锅 点菜系统')
print('')print(' 1. 羊肉涮涮锅')
print(' 2. 牛肉涮涮锅')
print(' 3. 猪肉涮涮锅')
print('--------------------------')
无参数,有返回值的函数
•此类函数,不能接收参数,但是可以返回某个数据,一般情况下,像采集数据,用此类函数
defgetTemperature():
# 这里是获取温度的一些处理过程
# 为了简单起见,先模拟返回一个数据
return24
有参数,无返回值的函数
•此类函数,能接收参数,但不可以返回数据,一般情况下,对某些变量设置数据而不需结果时,用此类函数
有参数,有返回值的函数
此类函数,不仅能接收参数,还可以返回某个数据,一般情况下,像数据处理并需要结果的应用,用此类函数
函数的嵌套
deftestb():
print("testb start")
print("testb testb 执行")
print("testb end")
deftesta():
print("testa start")testb()
print("testa end")
匿名函数
lambda函数也叫匿名函数,即函数没有具体的名称
变量
局部变量
局部变量,就是在函数内部定义的变量
deftest1():
a=120
print("我是局部变量a:",a)a=240
print("修改之后的局部变量a:",a)
deftest2():a=360
print("我是test02函数中的局部变量a",a)
test1()
test2()
全局变量
在函数外边定义的变量叫做全局变量
全局变量能够在所有的函数中进行访问
全局变量和局部变量名字相同
a=100
deftest1():
a=300
print("修改后的a:",a)
deftest2():
print(a)
test1()
test2()
全局变量的修改
a=100
deftest1():
global a
a=300
print("修改后的a",a)
deftest2():
print(a)
test1()
test2()