gpt4 book ai didi

c++ - Python:如何检查……?

转载 作者:搜寻专家 更新时间:2023-10-31 01:56:33 24 4
gpt4 key购买 nike

我想要一些关于如何检查我收到的参数的正确性的建议。

检查将在 C++ 中完成,因此如果有使用 Boost.Python(最好)或 C API 的好的解决方案,请告诉我。否则,请告诉我该对象应该具有哪些属性才能确保它符合标准。

所以...

  1. 如何检查对象是否为函数
  2. 如何检查对象是否是绑定(bind)方法
  3. 如何检查一个对象是否为类对象
  4. 如何检查类对象是另一个类的子对象

最佳答案

如有疑问,只需弄清楚如何通过调用常用的 Python 内置函数并将其转换为 C/C++ 来获得所需的效果。我只回答 Python,对于 C,你会查找全局变量,例如“callable”,然后像调用任何其他 Python 函数一样调用它。

  1. 为什么您会关心它是一个函数而不是任何其他类型的可调用对象?如果你愿意,你可以通过使用内置的 callable(f) 来确定它是否可调用,但当然这不会告诉你调用它时需要传递哪些参数。这里最好的做法通常就是调用它,看看会发生什么。

  2. isinstance(f, types.MethodType) 但如果它是内置方法,那将无济于事。由于您调用函数绑定(bind)方法的方式没有区别,您可能只想检查它是否可以像上面那样调用。

  3. isinstance(someclass, type) 请注意,这将包括内置类型。

  4. issubclass(someclass, baseclass)

关于c++ - Python:如何检查……?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6933058/

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