Python 进阶 - Python类的内置属性

内置属性:当创建一个类后,类所自带的属性,叫类的内置属性。

" 注意:有的属性是只有类有,有的属性是类和对象都有!"

属性含义
__name__当前定义的【类】的名字
__module__【类或对象】所属的模块名
__dict__【类或对象】的属性(包含一个字典,由类的数据属性组成)
__doc__【类或对象】的文档字符串 - 一般写在class 类下面
__base__当前【类】的父类
__bases__当前【类】所有父类构成的元组

示例:

class Person:
    """A class name Person"""
    def __init__(self, name, age):
        self.name = name
        self.age = age

p1 = Person('Aaron', 20)

1. __name__: 返回当前定义的【类】的名字

print(Person.__name__)  # 输出:Person

 2.__module__: 返回当前【类或对象】所在模块的名字

print(Person.__module__) # 输出:__main__

print(p1.__module__) # 输出:__main__

 3. __dict__: 【类或对象】的属性(包含一个字典,由类的数据属性组成)

print(Person.__dict__) 
# 输出
{
    '__module__': '__main__', 
    '__doc__': 'A class name Person', 
    '__init__': <function Person.__init__ at 0x7f46262ff700>, 
    '__dict__': <attribute '__dict__' of 'Person' objects>, 
    '__weakref__': <attribute '__weakref__' of 'Person' objects>
}

print(p1.__dict__) 
# 输出
{
    'name': 'Aaron', 
    'age': 20
}

4. __doc__:【类或对象】的文档字符串 。一般写在class 类下面,对该类进行一些注释和说明,但是一般只会类来引用这个属性,很少有用对象来引用的。

print(Person.__doc__) # 输出:A class name Person

print(p1.__doc__) # 输出:A class name Person

5. __base__:当前【类】的父类

print(Person.__base__) # 输出:<class 'object'>

6. __bases__:当前【类】的所有父类构成的元组

print(Person.__bases__) # 输出:(<class 'object'>,)

版权声明:本文为Aaron_neil原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。