2. 对象的特殊属性

__class__ 属性

作用:

用于绑定创建此对象的类。

可以借助于此属性来访问创建此对象(实例)的类。

示例

class Dog:
    '''Dog是人类最亲近的小动物'''
    def __init__(self, c, k):
        self.color = c  # 颜色
        self.kind = k  # 品种

dog1 = Dog('黄色', '金毛')

# __class__ 属性
print(dog1.__class__)
print(dog1.__class__ is Dog)

运行结果

<class '__main__.Dog'>
True

__dict__ 属性

作用:

用于绑定一个存储此对象自身属性和值的字典。

如果类内有 __slots__ 列表,则对象不存在 __dict__ 属性。

示例

class Dog:
    '''Dog是人类最亲近的小动物'''
    def __init__(self, c, k):
        self.color = c  # 颜色
        self.kind = k  # 品种

dog1 = Dog('黄色', '金毛')

# __dict__ 属性
print(dog1.__dict__)

for attr in dog1.__dict__:
    print('属性:', attr, '值', getattr(dog1, attr))

运行结果

{'color': '黄色', 'kind': '金毛'}
属性: color 值 黄色
属性: kind 值 金毛