函数
可接受任意数量参数的函数
位置参数 和 关键字参数
为了能让一个函数接受任意数量的位置参数,可以使用一个*参数.
为了接受任意数量的关键字参数,使用一个以**开头的参数。比如:
注意:
一个*参数只能出现在函数定义中最后一个位置参数后面,而 **参数只能出现在最后一个参数。 有一点要注意的是,在*参数后面仍然可以定义其他参数。
返回多个值的函数
为了能返回多个值,函数直接return一个元组就行了。例如:
函数返回的结果是一个元组,然后给a, b, c赋值
默认参数
默认参数的值应该是不可变的对象,比如None、True、False、数字或字符串。 特别的,千万不要像下面这样写代码:
因为会出现这样的错误:
在测试None值时使用 is 操作符是很重要的,也是这种方案的关键点。因此应该这样写:
减少可调用对象的参数个数
如果需要减少某个函数的参数个数,你可以使用 functools.partial() 。 partial() 函数允许你给一个或多个参数设置固定的值,减少接下来被调用时的参数个数。 为了演示清楚,假设你有下面这样的函数:
可以看出 partial() 固定某些参数并返回一个新的callable对象。这个新的callable接受未赋值的参数, 然后跟之前已经赋值过的参数合并起来,最后将所有参数传递给原始函数。
领取专属 10元无门槛券
私享最新 技术干货