对Element对象的自省

对Element对象的自省

Python中的自省有两个核心模块实现

  • isinstance(obj, cls)
  • issubclass(sub, super)

当判断一个基础数据类型的时候,我们可以这么做

1
2
i = 10
print(isinstance(i, int))

当判断一个自有数据类型的时候,我们可以这么做

1
2
3
4
5
class A:
pass

a = A()
print(isinstance(a, A))

现在我有一个Element对象,如何让他自省呢?

在xml模块中,本身就提供了用于自省的函数

1
2
3
4
5
6
import xml.etree.cElementTree as ET

root = ET.fromstring("""<xml><name>polarsnow</name></xml>""")
print type(root)

print ET.iselement(root)

结果:

1
2
<type 'Element'>
True