簡體   English   中英

Python:在基於C的類型MatchObject上使用isinstance

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM