Python3.x那些事儿:[19]函数默认参数值

2024-11-03 20:54:04

可以在定义函数的时候给函数的参数一个默认值,这样在调用函数的时候可以使用更少的参数。

Python3.x那些事儿:[19]函数默认参数值

调用这个函数可以有多种形式:

ask_ok('Doyoureallywanttoquit?')

ask_ok('OKtooverwritethefile?',2)

ask_ok('OKtooverwritethefile?',2,'Comeon,onlyyesorno!')

函数的参数默认值会在函数定义的时候就被计算出来

Python3.x那些事儿:[19]函数默认参数值

可以看到,打印出了5.

参数默认值只会被初始化一次,如果默认值是一个可变对象,那么如果之后的操作对它发生了改变,则默认值也会发生改变。

Python3.x那些事儿:[19]函数默认参数值

如果你不想出现上述情况,则可以这样写:

Python3.x那些事儿:[19]函数默认参数值

也就是说,只有当默认值是一个可变对象,如列表,字典等的时候,才会赋值一次,之后的改变也会改变到默认值中,而如果是一个固定类型,则不会发生上述情况。

Python3.x那些事儿:[19]函数默认参数值

猜你喜欢