introspección
hasattr (obj, "atributos") :. exista la propiedad obj
getattr (obj, "Propiedades"): Obtener obj propiedad, no existe error.
getattr (obj, "propiedad", "por defecto"): Obtener obj propiedad, no hay error, volver al valor por defecto.
setattr (obj, atributo "atributo" ") :. atributo obj = atributo de valor
delattr (obj, "atributos") :. del obj propiedad
__getattr __, __ __ setattr, __ delattr__
obj puntos método para operar cuando las propiedades modo de activación
__getattr__ :. propiedad obj cuando no hay gatillo
__setattr__ :. obj propiedad = atributo de valor de activación
__delattr__: del obj propiedad gatillo.
__getitem __, __ __ SetItem, __ delitem__
obj [ "Propiedades"] método para operar cuando los atributos del modo de gatillo
__getitem__: obj [] "Propiedades" gatillo
__setitem__: Cuando obj [ "Propiedades"] = el valor de la propiedad del gatillo
__delitem__: cuando Del obj [ "Propiedades"] gatillo
__get __, __ __ conjunto, __ delete__
Un nuevo descriptor es una clase que al menos tres métodos para lograr el anteriormente
formato:
clase descriptor: DEF __get__ ) (: Pass DEF __set__ ) (: Pass DEF __delete__ (): Pass clase categorías: nombre = descriptor () obj = clase () obj.name # GET obj.name = " Steven " # SET del obj.name # la Supr
__getattribute__
Independientemente de la presencia de la propiedad se activará la operación no existe
Cuando __getattribute__ y __getattr__ existen, sólo se ejecutará __getattribute__, a menos que __getattribute__ lanzados durante la ejecución AttributeError
__del__
Cuando el objeto se libera automáticamente en la memoria desencadenar la ejecución