我什么时候应该在Python中使用类型检查(如果有的话)?

cbe*_*der 5 python dynamic-typing

我开始学习Python,作为主要的Java开发人员,我遇到的最大问题是何时何时不使用类型检查.大多数人似乎都在说Python代码不需要进行类型检查,但是在我认为有必要时会有很多情况.例如,假设我需要使用方法参数来执行算术运算,为什么我不确定参数是数值数据类型?

此问题不仅限于功能.对于类变量,我也会遇到同样的思考过程.我应该或不应该使用属性(使用@property)来检查类型而不是定期实现的类变量?

这是一种为我开展发展的新方式,所以我很感激帮助理解.

Pau*_*ans 5

检查类型信息并不是Pythonic,而是使用鸭子打字:如果它看起来像鸭子,像鸭子一样走路,像鸭子一样嘎嘎叫,那么它就是鸭子.

def quack(duck):
    duck.quack()
Run Code Online (Sandbox Code Playgroud)

只有duck具有可调用的quackattrubute 才会运行,否则会引发异常,否则调用者可以捕获该异常.