python 获取对象信息

1、type()

type(123)
<class 'int'>

 type('str')
<class 'str'>

type(None)
<type(None) 'NoneType'>

2、isinstance()

a = Animal()
d = Dog()
h = Husky()

isinstance(h, Dog)
True
isinstance(h, Animal)
True
isinstance(d, Dog) and isinstance(d, Animal)
True
isinstance(d, Husky)
False

3、dir()

dir('ABC')
['__add__', '__class__',..., '__subclasshook__', 'capitalize', 'casefold',..., 'zfill']

4、hashattr()、setattr()、getattr(),可直接操作对象的状态

hashattr() 判断是否有属性
setattr() 添加属性
getattr() 获取属性

class MyObject(object):
    def __init__(self):
        self.x = 9
    def power(self):
        return self.x * self.x
>>> hasattr(obj, 'x') # 有属性'x'吗?
True
>>> obj.x
9
>>> hasattr(obj, 'y') # 有属性'y'吗?
False
>>> setattr(obj, 'y', 19) # 设置一个属性'y'
>>> hasattr(obj, 'y') # 有属性'y'吗?
True
>>> getattr(obj, 'y') # 获取属性'y'
19
>>> obj.y # 获取属性'y'
19
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 当我们拿到一个对象的引用时,如何知道这个对象是什么类型、有哪些方法呢? 使用type()首先,我们来判断对象类型,...
    Joncc阅读 281评论 0 0
  • type() 拿到一个对象,如何知道对象是什么类型?如何判断对象类型?可以使用type()来判断: >>> typ...
    木人张阅读 130评论 0 1
  • python学习笔记,特做记录,分享给大家,希望对大家有所帮助。 获取对象信息 当我们拿到一个对象的引用时,如何知...
    Swift社区阅读 348评论 0 0
  • 当我们拿到一个对象的引用时,如何知道这个对象是什么类型、有哪些方法呢? 使用type() >>> type(123...
    牛崽儿酷阅读 241评论 0 0
  • 当我们拿到一个对象的引用时,如何知道这个对象是什么类型、有哪些方法呢? 使用type() 首先,我们来判断对象类型...
    Aedda阅读 65评论 0 0