首页 今日头条 正文

Python设计规划中有关参数应用的幾點提议 -- 4-万博app_万博manbetx官网电脑版|下载首页

运用要害字参数来增强明晰度(Enforce Clarity with Keyword-Only人艰不拆 Arguments)。

经过要害字传递参数是Python办法的一个十分强壮的功用。要害16岁少年字参数的灵活性使你能够依据运用场景写出更明晰的代码。

例如,你想完成一个除法运算,你需求针对一些特殊状况做出十分慎重的处理。有时你既要防止除数为零的反常呈现Python设计规划中有关参数运用的幾點提议 -- 4-万博app_万博manbetx官网电脑版|下载主页,还要回来一个无穷大数来表明除法成果。还有的时分你想防止内存溢出的问题,可是还想回来0。此刻代码如下:

这个办法运用起来十分简略,下面是一个疏忽内存溢出的问题(心跳float over韩梅霜flow):

下面是疏忽除数为零的状况:

上面的问题便是你很难了解这个布尔值参数是什么意思。此刻呈现问题就比较难调试了。处理这个问题的一个办法便是运用要害字参数。默许状况能够让办法遇到反常时永久抛出反常:

办法调用的时分能够经过设置要害字参数值决议疏忽那些状况:

尽管依照这种办法编写办法提高了可读性,两个女匪王可是因为这些要害字参数是可选万象的,所以不能约束调用者运用要害字参数的方式调用它。所以霸宠独门小娇妻下面的调用也是合法的:

关于这些Python设计规划中有关参数运用的幾點提议 -- 4-万博app_万博manbetx官网电脑版|下载主页杂乱的后宫宠妃Python设计规划中有关参数运用的幾點提议 -- 4-万博app_万博manbetx官网电脑版|下载主页办法,最好让调用者理解参数的含义。在Python 刘湘3中你能够要求办法运用“仅要害字”参数(keyword-only)。这类参数只能依照要害字参数的方式运用,不能依照方位参数的方式运用。

下面咱们重写safe_division 办法,让它仅支撑要害字参数方式调用。此刻*前面便是方位参数,后边便是要害字参数:

下面再来调用一下这个办法:

仅要害字参数在Python 一代雄主宋徽宗2中的运用

Python 2不支撑仅要害字(keyword-only)参数。可是你能够经过运用一剪梅歌词**参Python设计规划中有关参数运用的幾點提议 -- 4-万博app_万博manbetx官网电脑版|下载主页数到达相似的作用。**参数与*参数差不多,只不过**参数能够接纳恣意数量的要害字参数徐州琴书大全周银侠。**参数在Python 2中的运用:

能够运用**参数使safe_divisio东太湖论坛Python设计规划中有关参数运用的幾點提议 -- 4-万博app_万博manbetx官网电脑版|下载主页n办法在Python 2中也支撑keyword-only参数。接下来在办法体中运用kwargs字典的pop办法的第二个参数为变量赋值。因为从字典中弹出了悉数必要参数,所以假如字典中仍存在其它字典项就阐明办法调用时传递了额定的参数过来,这便是过错的调用:

代码修正完就能够像P蟾宫折桂ython3中Python设计规划中有关参数运用的幾點提议 -- 4-万博app_万博manbetx官网电脑版|下载主页的keyword-only球王酥酥参数相同调用新办法了:

履行成果:

假如依照方位参数的方式传递迪拉姆对人民币汇率以上keyword-only曾国藩家书参数就会犯错:

假如传递一些非预界说的要害字参数也会犯错:

总结

  • 要害字参数能够使办法调用更明晰;
  • 运用keyPython设计规划中有关参数运用的幾點提议 -- 4-万博app_万博manbetx官网电脑版|下载主页word-only要害字能够削减办法调用时的痛失考妣紊乱,尤其是当许多参数接纳布尔值时;
  • Python 3支撑显现的声明keyword-onlthundery参数;
  • Python 2能够经过**参数模仿keyword-only要害字。