内置属性

    技术2022-07-11  81

    内置属性

    python在定义类的时候系统自动添加的属性(从基类中继承下来的属性)就是内置属性

    class Student: def __init__(self, name, age): self.name = name self.age = age class Dog: # 类属性 num = 100 # __slots__ = # 对象属性 def __init__(self, name, age=1, color='白色'): self.name = name self.age = age self.color = color # 方法 def eat(self, food): print(print(f'{self.name}在吃{food}')) @classmethod def show_num(cls): print(f'狗的数量:{cls.num}') @staticmethod def bark(): print('汪汪汪') def __repr__(self): c = self.__class__ m = c.__module__ return f'<{m}模块.{c.__name__}类的对象:name={self.name},age={self.age},color={self.color}>'

    1.module 类属性; 类.module - 获取定义的模块的模块名

    print(Dog.__module__) print(int.__module__)

    2.class 对象.class - 获取对象对应的类

    dog1 = Dog('大黄') print(dog1.__class__) print(type(dog1))

    3.name 类.name - 获取类名

    print(Dog.__name__) # Dog

    重写repr方法,要求以:xxx模块.xxx类的对象:属性1 = 值1,属性2 = 值2

    dog2 = Dog('财财') print(dog2)

    4.dict 类.dict - 将类转换成字典(类的类属性名作为key,类属性的值作为值) 对象.dict - 将对象转换成字典(对象属性名作为key,属性的值作为值)

    print(Dog.__dict__) print(dog1.__dict__)

    5.doc 类.doc - 获取类的说明文档

    print(list.__doc__)

    6.base 类.base - 获取当前类的父类 类.bases - 获取当前类所有的父类

    print(Dog.__base__) # <class 'object'>

    7.slots 可以约束当前类的对象能够拥有哪些对象属性 注意:如果给类属性__slots__赋值了,那么这个类的对象不能再使用__dict__属性

    class Person: __slots__ = ('name','age') def __init__(self,name,age=10): self.name = name self.age = age
    Processed: 0.010, SQL: 9