![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=1739284222-4HaXFEwpbX9WpoXP9g49NYSyHRUSI1Uf-0-065a3508ea88f664b17b78a582a4ce83)
通过让参数名后跟一个“=
”和一个值来指定默认的参数值。在本例中,length
的默认参数值是2,width
的默认参数值是3。参数列表中,任何具有默认值的参数必须在没有默认值的参数的右侧。
下面的代码调用函数rectangle_area
时没有参数,因此IPython会使用两个默认参数值来执行函数,相当于以rectangle_area(2,3)
的形式调用函数:
![](https://epubservercos.yuewen.com/9955D6/20818201008362506/epubprivate/OEBPS/Images/101-1.jpg?sign=1739284222-4N1hTaACErBrBVYvc1wmKlmfufmzf3sJ-0-00a5ea752ceab7cf9d344a8e2c303161)
下面的代码在调用函数rectangle_area
时只给出一个参数。参数的赋值顺序为从左到右,所以10传给了参数length
,参数width
则使用默认值3,相当于以rectangle_area(10,3)
的形式调用函数:
![](https://epubservercos.yuewen.com/9955D6/20818201008362506/epubprivate/OEBPS/Images/101-2.jpg?sign=1739284222-6dZC9DaMytDUeskrKLIyMLdgGcld5pMo-0-85bc7b69254cd0e42674a792de107c7a)
下面的代码调用rectangle_area
时给出了length
和width
两个参数的值,所以IPython会忽略掉默认参数:
![](https://epubservercos.yuewen.com/9955D6/20818201008362506/epubprivate/OEBPS/Images/101-3.jpg?sign=1739284222-IUaLImtAq8BR4yN5Y35Kt2hdDdejxcsT-0-c9b9db9990518252f772d71a2362fd14)