我有一个C扩展程序,接收并接受PyCapsule对象。
在我的Python包装器中,如何检查Python对象是否为PyCapsule类型对象?
>>> # My C extension
>>> foo = Foo()
>>> capsule = foo.to_capsule() # returns a PyCapsule object from the C extension
>>> capsule
<capsule object "foo" at 0xf707df08>
>>> type(capsule)
<class 'PyCapsule'>
isinstance(capsule, PyCapsule)
NameError: name 'PyCapsule' is not defined
What I'm trying to do is write a function like:
def push_capsule(capsule):
# check that the `capsule` is of type PyCapsule
# c_extension.push_capsule(capsule)
PyCapsule = type(capsule)
然后使用isinstance(whatever, PyCapsule)
。 - juanpa.arrivillaga