如何判断一个变量是类还是对象

2024-02-12

我正在较低的水平上编写一个小框架,用于用 Python 为我的项目创建测试装置。在这里,我想知道某个特定变量是某个类的实例还是类本身,如果它是一个类,我想知道它是否是我的框架定义的某个类的子类。我该怎么做?

class MyBase(object):
    pass

class A(MyBase):
    a1 = 'Val1'
    a2 = 'Val2'

class B(MyBase):
    a1 = 'Val3'
    a2 = A

我想知道属性 a1 和 a2 是否是类/类型的实例(a1 是 B 中的字符串类型)还是类对象本身(即 a2 是 B 中的 A)。你能帮我如何找到这个吗?


Use the 检查模块 http://docs.python.org/library/inspect.html#module-inspect.

检查模块提供了几个有用的函数来帮助获取有关活动对象的信息,例如模块、类、方法、函数、回溯、框架对象和代码对象。例如,它可以帮助您检查类的内容、检索方法的源代码、提取并格式化函数的参数列表,或者获取显示详细回溯所需的所有信息。

例如,inspect.isclass() http://docs.python.org/library/inspect.html#inspect.isclass如果对象是类,函数返回 true:

>>> import inspect
>>> inspect.isclass(inspect)
False
>>> inspect.isclass(inspect.ArgInfo)
True
>>> 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何判断一个变量是类还是对象 的相关文章

随机推荐