Python3.x那些事儿:[19]函数默认参数值
可以在定义函数的时候给函数的参数一个默认值,这样在调用函数的时候可以使用更少的参数。
![Python3.x那些事儿:[19]函数默认参数值](https://exp-picture.cdn.bcebos.com/739bc049610f8b56e0dfd8db9ce951e10ff8d372.jpg)
调用这个函数可以有多种形式:
ask_ok('Doyoureallywanttoquit?')
ask_ok('OKtooverwritethefile?',2)
ask_ok('OKtooverwritethefile?',2,'Comeon,onlyyesorno!')
函数的参数默认值会在函数定义的时候就被计算出来
![Python3.x那些事儿:[19]函数默认参数值](https://exp-picture.cdn.bcebos.com/d9a8d2d2bb665159dc9be6998fe23ea23b42c772.jpg)
可以看到,打印出了5.
参数默认值只会被初始化一次,如果默认值是一个可变对象,那么如果之后的操作对它发生了改变,则默认值也会发生改变。
![Python3.x那些事儿:[19]函数默认参数值](https://exp-picture.cdn.bcebos.com/ed792abb19efa25f69cf34c859828689a0463b73.jpg)
如果你不想出现上述情况,则可以这样写:
![Python3.x那些事儿:[19]函数默认参数值](https://exp-picture.cdn.bcebos.com/32fbcd41037de137bdadd40ff6c5cf672a5f2a73.jpg)
也就是说,只有当默认值是一个可变对象,如列表,字典等的时候,才会赋值一次,之后的改变也会改变到默认值中,而如果是一个固定类型,则不会发生上述情况。
![Python3.x那些事儿:[19]函数默认参数值](https://exp-picture.cdn.bcebos.com/b57fb6db574afa321947da4454b2dc19cf2c1473.jpg)
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
阅读量:164
阅读量:129
阅读量:147
阅读量:125
阅读量:167