在《Python中自定义函数的方法》中提到,自定义的函数在函数名之后的圆括号内包含有参数,如图1所示。
图1 自定义函数func
在图1中,自定义了一个名为func()的函数,该函数包含一个参数i。接下来定义了一个值为0的变量i1,将i1作为func()函数的参数,此时的输出是1。
1 参数是常量默认值的函数
将图1中所示的func()的参数i具有常量默认值,如图2所示。
图2 参数是常量默认值的函数
从图2可以看出,func()函数的参数i具有一个常量初始值0;当不为该函数指定参数时,该函数的参数默认值是0,即此时输出0;当为该函数指定参数时,该函数则输出指定参数的值。
2 参数是变量默认值的函数
在“1 参数具有常量默认值的函数”中提到的函数func()具有常量默认值,如图3显示的代码中,func()函数的参数具有变量默认值。
图3 参数是变量默认值的函数
从图3中可以看出,func()函数的参数i的默认值是变量i1,而变量i1的值是1,因此,如果不为func()函数指定参数,此时该函数的参数默认值是1。当该变量默认值发生改变时,参数的默认值不会随着改变,如图4所示。
图4 变量改变,默认值不变
此时,func()函数的参数对应的默认值变量i1的值变为2,而func()函数参数的默认值依然是1。