为Python函数返回'None'是个好主意吗?

sas*_*llo 0 python

问题在于标题......

我正在学习Python,我听过几次函数返回None是你在真正的程序中永远不应该有的东西(除非你的函数永远不会返回任何东西).虽然我似乎无法找到绝对必要的情况,但我想知道它是否可以成为一个很好的编程实践.即,如果你的函数返回整数(比如,方程的解),则无表示没有回复的答案.或者它应该始终作为函数内的异常处理?也许还有其他一些实际有用的例子?或者我应该这样做吗?

Gar*_*tty 10

这种情况并非如此.例如,任何不需要返回值的函数都将返回None.

除此之外,通常,保持输出的一致性会使事情变得更容易,但要对功能有意义.在某些情况下,返回None是合乎逻辑的.

如果出现问题,是的,你应该抛出异常而不是返回None.

不幸的是,编程往往充满了过于笼统的建议.它很容易做到,但是Python非常好用 - 实用性胜过纯度是Python的禅宗的一部分.它本质上是用例dict.get()- 通常,如果找不到键,最好抛出异常,但在某些特定情况下,获取默认值更有用.