内置属性:指的是我们创建类的时候系统自动给我们添加的属性(其实通过继承获取的)
p1 = Ql_Person('小明', 18)
class_name = Ql_Person.__name__ #返回一个字符串
print(class_name, Ql_Person)
- 对象.__class__ - 获取对象对应的类(结果是类),将结果当成类来使用
my_class = p1.__class__
print(my_class)
p2 = my_class('小红')
print(p2.name)
- 类.__doc__ - 获取类的说明文档(字符串)
print(Ql_Person.__doc__)
print(my_class.__doc__)
print(p1.__class__.__name__)
- 类.__dict__ - 获取对象的属性字典,属性为key,值为value, 类也可以用
当设置了slots时,对象的dict属性就不能使用了, 返回AttributeError: 'Ql_Person' object has no attribute 'dict'
print(p1.__dict__)
- 类.__module__ - 获取当前类所在的模块的模块名,若是直接使用,则相当于name为main
print(Ql_Person.__module__)
- 类.__bases__ - 获取当前类的父类(元组)
print(Ql_Person.__bases__)
-
repr(self) - 定制对象的打印格式,当我们通过print打印一个对象的时候,实质就是打印对象调用repr函数的返回值
def repr(self): return 返回值必须是字符串
#print(p1)
print([p1])
网友评论