gpt4 book ai didi

python - 我应该检查构造函数参数的类型(以及其他地方)吗?

转载 作者:太空狗 更新时间:2023-10-29 17:39:35 24 4
gpt4 key购买 nike

Python 不鼓励检查类型。但在许多情况下,这可能很有用:

  1. 检查构造函数参数。例如检查 foe bool 值、字符串、字典等。如果我不这样做并将对象的成员设置为参数,它将在以后导致问题。

  2. 检查函数参数。

  3. 在属性中。如果有人设置了错误的值或不同的类型,我应该快速响应。

最佳答案

答案几乎总是“不”。 Python、Ruby 和其他一些语言中的一般概念我们称为“Duck Typing”。你不应该关心什么是什么,只关心它是如何工作的。换句话说,“如果你想要的只是嘎嘎叫的东西,你就不需要检查它是否真的是鸭子。”

在现实生活中,进行所有这些类型检查的问题是无法用替代实现替换输入。您可能会检查字典,但我可能想传递一些不是字典但实现了字典 API 的内容。

类型检查只检查代码中许多可能的错误之一。例如,它不包括范围检查(至少在 Python 中不包括)。对需要进行类型检查的断言的现代回应是,开发单元测试更有效,它不仅确保类型正确,而且确保功能正确。

另一种观点是,您应该像对待同意的成年人一样对待您的 API 用户,并相信他们会正确使用 API。当然,有时输入检查会有所帮助,但这种情况并不像您想象的那么普遍。一个例子是来自不受信任来源的输入,例如来自公共(public)网络。

关于python - 我应该检查构造函数参数的类型(以及其他地方)吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/602046/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com