gpt4 book ai didi

python - 验证 python 中的对象是否遵循特定结构

转载 作者:太空宇宙 更新时间:2023-11-03 23:50:31 24 4
gpt4 key购买 nike

是否有一些简单的方法可以检查某个函数的输入对象是否符合特定结构?例如,我只需要一个字符串键和值的字典,它们是一个整数列表。

一种方法是编写一个递归函数,将其传入对象并对其进行迭代,在每个级别检查它是否符合您的预期。但我觉得在 python 中应该有比这更优雅的方式来做到这一点。

最佳答案

为什么你会期望 Python 提供一种“优雅的方式”来检查类型,因为类型检查的整个想法与 Python 式的构想世界和与之交互的方式完全不同?!通常在 Python 中你会使用 duck typing —— 所以“整数”可能同样是一个 int、一个 long、一个 gmpy.mpz —— 类型之间没有关系,除了它们都实现相同的核心签名......正如“字典”可能是映射的任何实现,等等。

2.6 及更高版本的新概念“抽象基类”提供了一种更系统的方法来实现和验证鸭子类型,而 3.0 及更高版本的函数注释让您可以与此类检查系统进行交互(第三-party,因为 Python 在可预见的 future 不会采用这样的系统)。例如,this recipe提供了一种 3.0 及更高版本的方法来执行基于函数注释的“有点但不完全”类型检查——尽管我怀疑它是否能深入到你想要的任何地方,但是,现在是函数注释的早期阶段,我们大多数人Pythonista 对这种检查的渴望是如此之小,以至于我们不太可能全力以赴地实现这样的巨大系统来代替实际有用的代码;-)。

关于python - 验证 python 中的对象是否遵循特定结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1665260/

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