python开发【第四篇】:python基础之函数
###########三元运算##########
格式:result =值1 if 条件 else 值2 #如果条件成立,那么将“值1”赋值给result变量,否则 ,将“值2”赋值给result变量
###########基本数据类型补充############set:
set集合,是一个无序且不重复的元素集合额
1.add : 添加元素
结果:
2.clear :清除内容
结果:
3.(1)difference:找不同的元素,并将其赋给新值
结果:
(2)different_updata:找不同的元素,并更新自己
结果:{33,44}
{55,66}
4.discard:删除元素
结果:
discard和remove的区别是:discard可以删除集合里面没有元素,不会报错。而remove则不能删除集合里面没有的元素
5.(1)intersection:取交集
结果:
(2)intersection_updata:取交集并且更新自己
结果:
6.isdisjoint:是否没有交集,如果没有返回True,如果有返回False
结果:
7.(1)issubset:判断是否是子集合
结果:True
(2)issuperset:判断是否是父集合
结果:True
8.(1)pop:移除最后一个集合
结果:33 #因为集合是无序的,所以最后一个不一定是44
(2)remove:移除指定元素,不存在保错
结果:
9.(1)symmetric_difference:对称差集
结果:
(2)symmetric_difference_updata:对称差集,并更新到自己中
结果:
10.union:并集
结果:
11.updata:更新
结果:
############深浅拷贝#############
一、数字和字符串
对于数字和字符串而言,赋值、浅拷贝和深拷贝无意义,因为其永远指向同一个内存地址
二、其他基本数据类型
对于字典、元祖、列表而言,进行赋值、浅拷贝和深拷贝时,其内存地址的变化是不同的
1.赋值
赋值,只是创建一个变量,该变量指向原来内存地址,如:
2.浅拷贝
浅拷贝,在内存中只额外创建第一层数据
3.深拷贝
深拷贝,在内存中将所有的数据重新创建一份(排除最后一层,即:python内部对字符串和数字的优化)
############函数#############
1. def函数名(形参):
函数体
1. return xxx,None
2.一旦遇到return,函数内部return以下代码不再执行
2.执行函数
函数名(实参)
3.形参,实参(默认,按照顺序,数量一致且一一对应)
4.指定形参传入实参,可以不按照顺序
5.函数可以有默认参数(有默认值的参数一定要放在参数的尾部)
6.动态参数
* ,元祖,元祖的元素
**,字典
def f1(*args,**kwargs)#默认写法
一
动态参数二
7.为动态参数传入列表、字典、元祖 *args, *列表
**kwargs,**字典
8.全局变量和局部变量:全局变量都大写,局部变量都小写
全局:
大写
修改,global
局部:
小写,仅仅在代码块中能用