gpt4 book ai didi

python - 类型安全的 Python 3.2 字典

转载 作者:太空宇宙 更新时间:2023-11-04 06:46:23 26 4
gpt4 key购买 nike

在 Python (3.2) 中实现类型安全字典的好方法是什么 - 一个只允许将特定类型的对象添加到自身的字典?

我自己有一个简单的解决方案:使用“addItem”方法围绕字典构建一个包装类,该方法在添加对象之前执行类型检查断言。看看是否有人有更好的东西。

最佳答案

这里的 Pythonic 方式是只使用普通字典,并且只向其中添加特定类型的对象 - 不要试图强制执行限制,这不是必需的。


编辑:为了扩展我的论点,让我解释一下 - 您似乎认为编写好的代码需要类型安全。第一个问题是为什么?当然,类型安全会在编译时捕获一些错误,但根据我的经验,这些错误很少见,即使是最微不足道的测试也很容易捕获,而且通常很容易修复。

相比之下,最烦人、最难修复、最难测试的错误是逻辑错误,计算机根本无法识别。最好通过制作易于理解的可读代码来防止这些错误,从而使错误更加突出。动态类型通过减少代码的冗长性极大地帮助了这一点。你可以争辩说打字更容易阅读代码(因为你可以在使用它们时看到变量的类型),但在动态语言中,这种东西是通过仔细命名给出的 - 如果我命名一个变量 seq ,人们会认为它是一个序列并且可以这样使用。根据我的经验,描述性命名和良好文档的结合使动态代码变得更好。

归根结底,语言中的类型安全是一个偏好问题,但是,Python 是一种围绕鸭子类型思想设计的动态语言。语言中的一切都是围绕它设计的,试图以另一种方式使用它会适得其反。如果你想写 Java,就写 Java。

关于python - 类型安全的 Python 3.2 字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14194997/

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