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

标签 python dynamic-typing

我开始学习 Python,作为主要的 Java 开发人员,我遇到的最大问题是了解何时以及何时不使用类型检查。大多数人似乎都在说 Python 代码不需要类型检查,但在很多情况下我认为这是必要的。例如,假设我需要使用方法参数来执行算术运算,为什么我不应该确保参数是数字数据类型?

这个问题不仅限于函数。对于类变量,我也有同样的思考过程。为什么以及何时应该或不应该使用属性(使用 @property)来检查类型而不是定期实现的类变量?

这对我来说是一种新的开发方式,因此我希望能帮助理解。

最佳答案

检查类型信息不是Pythonic,而是使用鸭子类型:如果它看起来像鸭子,走路像鸭子并且< em>嘎嘎叫 像一只鸭子然后它 是一只鸭子。

def quack(duck):
    duck.quack()

这只会在 duck 有一个可调用的 quack 属性时运行,否则它会引发一个异常,否则可以被调用者捕获。

关于python - 我什么时候应该在 Python 中使用类型检查(如果有的话)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41305139/

相关文章:

python - 从同级目录导入 (python 3)

python - pip 安装自定义包含路径

Python ctypes 和 char**

python - 扩展 Python : process numpy arrays

language-agnostic - 弱类型相对于强类型的优势

python - 无法将类型 'Timestamp' 与类型 'int' 进行比较

instantiation - 从 Haxe 中的字符串名称创建类的实例

javascript - 为什么 + 符号是 javascript 中的异常(exception)?

design-patterns - 是一种迭代类持有的列表的模式(动态类型的 OO 语言)

c#-4.0 - 是否有一种理想的语言将动态类型和强类型的优点结合在一起?