Python 里面的正规函数 (normal function) 就像其他语言的函数一样,之所以说正规函数是因为还有些「不正规」的,比如匿名函数,高阶函数等等。
但即便是正规函数,Python 的函数具有非常灵活多样的参数形态,既可以实现简单的调用,又可以传入非常复杂的参数。从简到繁的参数形态如下:
- 位置参数 (positional argument)
- 默认参数 (default argument)
- 可变参数 (variable argument)
- 关键字参数 (keyword argument)
- 命名关键字参数 (name keyword argument)
- 参数组合
每种参数形态都有自己对应的应用,接下来用定义一个金融产品为例来说明各种参数形态的具体用法。
位置参数
「位置参数」可以是多个,比如 id 和 ntl (代表 notional,本金,例如债券的本金是一亿,期权的本金是一百万等等):
默认参数
可变参数
在 Python 函数中,还可以定义「可变参数」。顾名思义,可变参数就是传入的参数个数是可变的,可以是 0, 1, 2 到任意个。
关键字参数
命名关键字参数
参数组合