函数定义
1 | def a(): |
函数的参数
必选参数
- 最常用的正常参数称为必选参数(我这样分的)
默认参数
在定义函数的时候给出一个初始值,在未传入新参数时使用
1
2def a(x,y = 5):
pass默认参数必须指向不可变对象
可变参数
不是参数的个数可变,而是把多个参数组装成一个整体(类似list或者tuple)
1
2def a(*L):
pass传入多个参数以逗号分隔,传入list或tuple在之前加*
关键字参数
- 即传入的参数为键值对,可理解为可变参数的扩展
- 类似于可变参数,用定义,也用\传入字典。
命名关键字参数
- 限制关键字参数传入的范围
有可变参数时,跟在可变参数之后,没有时同位置参数以*分隔
1
2
3def a(name,*,birth):
pass
a(bob,birth = 1)只能传入命名关键字,不传或多传都会报错
参数组合问题
- 可以使用多种参数,定义顺序按照必选参数,默认参数,可变参数,命名关键字参数,关键字参数顺序。
- 注意命名关键字定义于关键字之前
递归函数
- 在return种调用自身
- Python中并未进行尾递归优化
模块
- 导入模块后可以使用模块中的函数,类和模块类似