[英]Python : using isinstance on C based type MatchObject
我正在研究一个函数,在该函数中我想知道某个对象是否是re.MatchObject
的实例。 我尝试使用isinstance
但是re.MatchObject
是C类型,因此无法正常工作。
我仍然可以进行替代测试,例如hasattr( ... , 'pos')
或任何其他re.MatchObject
属性,但我认为这不是一个好的解决方案。 还有其他方法吗?
您需要使用正确的类型; match对象类型不是显式可导入的,但是您可以在现有实例上使用type()
来存储它:
import re
MatchObject = type(re.search('', ''))
然后在isinstance()
测试中使用它:
>>> MatchObject = type(re.search('', ''))
>>> isinstance(re.search('', ''), MatchObject)
True
关于C定义的Python类型,没有什么可以防止使用isinstance()
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.