Python:  如何判断变量是类还是对象Python:  如何判断变量是类还是对象Python:  如何判断变量是类还是对象Python:  如何判断变量是类还是对象
  • 首页
  • 博客
  • 文件
  • 书签
  • 分析
  • 登录
Search
Generic filters

Python: 如何判断变量是类还是对象

Published by admin at 2022年11月15日
Categories
  • Python
Tags

在下面的代码中:

class A(object):
    pass

if __name__ == '__main__':
    a1 = A
    a2 = A()

如何判断a1,a2是类还是对象呢?

可以使用 inspect 模块:

import inspect

class A(object):
    pass

if __name__ == '__main__':
    a1 = A
    a2 = A()

    print(inspect.isclass(a1))
    print(inspect.isclass(a2))

运行结果:

True
False

查看inspect.isclass()的源代码,发现原理是判断object是否为type的实例,是则为类,不是则为对象。

def isclass(object):
    """Return true if the object is a class.

    Class objects provide these attributes:
        __doc__         documentation string
        __module__      name of module in which this class was defined"""
    return isinstance(object, type)

所以也可以直接采用这个办法来判断:

class A(object):
    pass

if __name__ == '__main__':
    a1 = A
    a2 = A()

    print(isinstance(a1, type))
    print(isinstance(a2, type))

运行结果:

True
False

发表回复 取消回复

您的电子邮箱地址不会被公开。 必填项已用*标注

Categories

  • 猫
  • Python
  • MySQL
  • Django
  • Html/CSS
  • JavaScript
  • Vue
  • RegExp
  • php
  • Practice
  • Virtualization
  • Linux
  • Windows
  • Android
  • NAS
  • Software
  • Hardware
  • Network
  • Router
  • Office
  • WordPress
  • SEO
  • English
  • Games
  • Recipes
  • living
  • Memorandum
  • Essays
  • 未分类

归档

©2015-2022 Alaica Blog support@alaica.com