![Python程序设计:人工智能案例实践](https://wfqqreader-1252317822.image.myqcloud.com/cover/423/39980423/b_39980423.jpg)
上QQ阅读APP看书,第一时间看更新
4.9 默认参数值
定义函数时,可以指定参数具有默认值。调用函数时,如果不给带默认值的参数传递默认值,该参数将自动使用它的默认值。下面的代码用默认参数值定义函数rectangle_area
:
![](https://epubservercos.yuewen.com/9955D6/20818201008362506/epubprivate/OEBPS/Images/100-2.jpg?sign=1739240797-y05uzvvP2byy3YoRZWWwA6xM0FuStkPh-0-e017268e4c6c2f111c297d5a3c6a7b77)
通过让参数名后跟一个“=
”和一个值来指定默认的参数值。在本例中,length
的默认参数值是2,width
的默认参数值是3。参数列表中,任何具有默认值的参数必须在没有默认值的参数的右侧。
下面的代码调用函数rectangle_area
时没有参数,因此IPython会使用两个默认参数值来执行函数,相当于以rectangle_area(2,3)
的形式调用函数:
![](https://epubservercos.yuewen.com/9955D6/20818201008362506/epubprivate/OEBPS/Images/101-1.jpg?sign=1739240797-TMVWoj7YzYmHq9ygy8LJoYOzzTjH9Zfn-0-a67300167a76753b9314308ad8e82aef)
下面的代码在调用函数rectangle_area
时只给出一个参数。参数的赋值顺序为从左到右,所以10传给了参数length
,参数width
则使用默认值3,相当于以rectangle_area(10,3)
的形式调用函数:
![](https://epubservercos.yuewen.com/9955D6/20818201008362506/epubprivate/OEBPS/Images/101-2.jpg?sign=1739240797-KiGdWUoSiukjayCcy5AbQIdZSj3SO4Rr-0-6fd0624f66d4c6e350ef701e90629942)
下面的代码调用rectangle_area
时给出了length
和width
两个参数的值,所以IPython会忽略掉默认参数:
![](https://epubservercos.yuewen.com/9955D6/20818201008362506/epubprivate/OEBPS/Images/101-3.jpg?sign=1739240797-At5RGt9ypp4JXcH3ajFUpp3M6LGy3Gzu-0-353fb90e9fcda98f8cbe8aa7eb77d152)