函数的缺省函数
缺省函数:如果一个函数有参数,而且这个参数设置了默认值,便称为缺省参数格式:
def 函数名(形参1, 形参2=数值):
pass
调用函数:
1.如果缺省函数的位置上没有传入实参,就会使用默认值
2.如果确性参数位置传入了实参,实参会把默认值修改掉.
下次在调用该函数的时候,缺省参数还是默认值.
作用:
1.简化了函数的调用
2.一个函数如果有缺省参数,那么缺省参数之后必须都是缺省参数…
不定长参数(元组)
元组
格式:
ef args(*args): #单*是元组形参,双*是字典 args是函数名
print(args[0]) #输出参数中的第一个数
print(args) # 输出参数
print(type(args)) #输出数据类型,是元组类型
print(len(args)) #输出参数的个数
args(1,2,3,4,5,6,7,8,9) #调用函数
特点 :
1.调用函数的时候不知道传入了多少个实参
2.位置参数调用函数
3.函数内部使用下标索引获取实参的数据
不定长参数(字典)
特点:
1.调用函数的时候不知道传入多少个实参
2.关键字参数调用函数
3.函数内部通过key获取实参的数据
格式:
ef name(**name):
print(name)
print(type(name)) #字典类型
print(len(name))
print(name["mz"]) # mz=名字
print(name['age'])
name(mz="小明",age=15)
函数的拆包和组包
拆包:将元组中的元素进行拆分
拆包的作用:适用于容器类型
拆包的格式:
my_tuple=("张三","20","男")
name,age,sex=my_tuple
print(name)
print(age)
print(sex)
组包的格式:
new_name="小明"
new_age=13
new_sex="男"
new_tuple=() #创建一个新元组
new_tuple=new_name,new_age,new_sex
print(new_tuple)
两个变量之间到交换
方法一:
a=20
b=15
print(a,b)
c=a
a=b
b=c
print(a,b)
方法二:
a=20
b=15
print(a,b)
a=a+b
b=a-b
a=a-b
print(a,b)
方法三:
a=20
b=15
print(a,b)
a,b=b,a
print(a,b)
函数的引用
引用是指在计算机中变量记录数据的一种方式(数据通常装在硬盘或者内存空间中)
在python中所有的数据都是引用类型
id()函数是查看一个变量在内存中的地址标识(独立序号)
一个变量发生改变 变量的地址一定会发生改变
如果一个变量拥有了一个内存地址,那他就可以为所欲为
改变赋值 如果地址未改变,则这个数据类型是可变的数据类型 反之则这个数据类型是不可变的数据类型
#可变的数据类型(以列表为例)
a=[1,2,3,4,5,6,]
print(id(a))
a.append(7)
print(id(a))
#不可变的数据类型(以元组为例)
b=(1,2.3,4,5)
print(id(b))
b=b+b
print(id(b)) #元组是不可变的数据类型 无论他的值是否发生改变 都会使用不同的地址
可变的数据类型:list(列表).dict(字典),ret(集合)
b=b+b是重新赋值 会改变地址
b+=b是对原来的数据进行修改 不会改变地址
不可变的数据类型:str(字符串),元组(tuple)
b=b+b b+=b 都是重新赋值 会改变地址.
流程控制关键字
break return continue
作用:都是控制流程语句的执行
区别:
1.continu:结束本次循环,开始下一次循环,不会跳出该循环
2.break: 结束当前循环,跳出当前循环部分执行循环之后的代码
3.return:结束当前方法,只要遇到有return的地方,不论retrun在哪里,直接自return所在处结束当前的函数.