函数简单记载
def test(): #test是函数名 ():可填参数
"函数的描述"
函数的规则
return: #定义函数返回值 碰到return则函数结束运行
函数有2个积极的作用:
1 代码的重复利用 在编程时,如果有一大段代码相同,可用函数去定义。这样可节约大量的人力时间
2 可扩展和一致性 改变函数的函数规则 则引用函数的代码里的函数都会相同改变函数规则,具有方便扩展更改的一致性
函数就是实现特定功能
关于返回值return 可以定义任何数据类型,最后都会把不同的类型打包成以元祖的形式的单一返回值。没有返回值这会出现none
为什么函数要有返回值 因为执行了函数完了返回值时,相关程序或者代码会根据这个返回值选择要执行的下个程序代码。
形式参数 和 事实参数
def test(x,y): #x,y就是形式参数
print(x)
print(y)
函数调用:
test(1,2) #位子参数(事实参数)直接对应形式参数
test(y=2,x=1) #关键字调用
关键自调用和位子参数混用的时候,
关键字要在位子参数后面 且 遵循位子参数的规则来
test(5,36) #5,36为位子参数(实参),一一对应x,y
test(y=36,x=5) #可不按位子,这是关键字调用赋值
test(5,y=36) #前2这混合,但是还是遵循位子参数原则,且位子参数永远在关键字参数之前,否则会报错
def test2(x,y,z):
print(x)
print(y)
print(z)
test2(1,y=2,3) #会报错
def test(x,y=2)
#y=2 为默认参数 当调用的时候不实参y的话就默认y=2
参数组:
在参数不确定的情况下使用,且在函数中会以元组的形式出现
def test(x,*args): #*args为不确定参数的元组表示方法
print(x)
print(args) #args 为形式参数不确定因数 不确定的参数将会以元组的形势表示出来
test(1,"ai",5,["china","chinse"])
test(1,*(5,"ai",["china,"chinse""]))
def test(x,**kwargs): #不确定参数将会以字典方式表示出来, 对应的话,不确定参数填写应该写关键字形式表示对应字典
print(kwargs)
test(2,name="huangjian", age=28,sex="men") #则后面会以字典形式出现
def test(x,*args):
print(x)
print(args)
test(3,*{"name":"xiaojian"})
test(4,*['x','y','z'])
print(type(*{"name":"xiaojian"})) #在函数中如果参数前面加入*就相当于使用for循环把后面数据一个一个传入args中变成元素组成元组
说白了,在不确定参数的情况下,用args则是不同数据,不能等于赋值 ,得出的实参是元组表示的集合 (不能以=的方式出现,无法for循环)
用kwargs则参数一定是键值对的形式出现,得到的实参是字典。 (必定是以=的方式出现在对应的位子)

浙公网安备 33010602011771号