Pitón de aprendizaje Notas - avanzada orientada a objetos Resumen de opiniones

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

 

Supongo que te gusta

Origin www.cnblogs.com/steven223-z/p/12578480.html
Recomendado
Clasificación