-
函数定义
def test(x): # def 关键字 test函数名称 #注释函数功能 x += 1 return x #返回值
-
函数作用
1.代码重用
2.保持一致性,易于维护
3.可扩展
-
函数和过程
在python中过程就是 没有返回值的函数
返回值个数 = 0 默认返回None
返回值个数 = 1 返回object(对象)
返回值个数>=1 返回的是tuple(元组) 以元组的形式返回
-
函数参数
有形参和实参
形参就是在定义函数是的参数 :
只有在调用函数时才会分配内存单元,调用结束后释放所分配的内存(只在函数内部有效)
实参就是在调用函数时传给形参的参数:
实参可以是常量,变量,表达式,函数等,并且在调用函数是必须有确定的值,以便把这些值传给形参
-
位置参数和关键字
位置参数调用时必须一一对应而且传参根据位置传递
def test(x,y,z): #创建函数 return test(1,2,3)#位置参数调用 test(y=2,x=3,z=4)#关键字调用顺序不重要值可以根据关键字来指定
- 如果两者混合使用时 位置参数必须在关键字参数的左边,并且给值的顺序不能乱
-
参数组
- test (x, *args)
def test(x,*args): print(x) print(args) test(1,2,3,4,5,6) #结果 1 (2, 3, 4, 5, 6)#以元组形式返回
*args可以传多个值,除去前边的参数外其他的值会合并到元组里返回
def test(x,*args): print(x) print(args) test(1,[1,2,3]) test(1,*[1,2,3]) #结果 1 ([1, 2, 3],)#在这里先将列表作为元组在返回元组(可以看出整个列表作为元组的元素) 1 (1, 2, 3)在这里相当于只是将数字作为元组元素(将列表拆开传入)
- test (x,**kwargs)
可以接受字典形式
def test(x, **kwargs): print(x) print(kwargs) test(2, **{"name": "alex"}) test(2, z=3, y=4) #会以字典的形式传入 #结果 2 {'name': 'alex'} 2 {'z': 3, 'y': 4}