Python中有一些内置的特殊属性,前面的文档中我们也使用过一些,比如__dict__,__class__,__name__等等,本文中我们将详细介绍一下python中常用的特殊属性用法。
一、内置特殊属性
属性分为类属性和对象属性。
1.类属性
- __dict__:所有类属性和类方法-字典
- __bases__:所有的父类-元祖
- __doc__:类的文档-字符串
- __name__:类的名称
- __module__:类所在的模块
2.对象属性
- __dict__:实例的所有属性和方法
- __class__:实例对应的类
二、内置特殊属性用法
class Person:
"""123345566778"""
sex = '男'
def __init__(self):
self.name = 'Tom'
self.__money = 100
p5 = Person()
p5.a = 999
print(Person.__dict__) # 注意,初始化属性不包含在内,初始化实行属于实例对象属性,只含有类属性和类方法
print(p5.__dict__) # 包含初始化属性和对象属性
print(Person.__bases__)
print(Person.__doc__)
print(Person.__name__)
print(Person.__module__) # 是当前模块,返回__main__
print(p5.__class__)
返回结果:
{'__module__': '__main__', '__doc__': '123345566778', 'sex': '男', '__init__': <function Person.__init__ at 0x00000000023623A0>, '__dict__': <attribute '__dict__' of 'Person' objects>, '__weakref__': <attribute '__weakref__' of 'Person' objects>}
{'name': 'Tom', '_Person__money': 100, 'a': 999}
(<class 'object'>,)
123345566778
Person
__main__
<class '__main__.Person'>