Python orientado a objetos - Avanzada - miembros construido y Método de aprendizaje de la magia del mono #


 

 

### construidos miembros

`` `Python

# Pertenece a los miembros de la clase para obtener una clase / objeto / objeto .__ dict__

res = Demostración .__ dict__ # get clase actual del miembro

res = obj .__ dict__ # Get los miembros actuales del objeto pertenece

# Obtener la clase de documento de información de clase / objeto .__ doc__

res = Demostración .__ doc__

res = obj .__ doc__

# Obtiene el nombre de la cadena de la clase que consiste en

res = Demostración .__ name__

# Obtener el nombre del archivo de la clase se encuentra, si el archivo actual se muestra como __main__

res = Demostración .__ module__

# Y__bases__ obtener una lista de la clase actual de la clase padre

res = Demostración .__ base__ # conseguir la herencia de clases primer padre

res = Demostración .__ bases__ # obtener una lista de todos los de la clase padre heredada

# MRO obtener una lista de la cadena de herencia de clases actual

nada = Demo .__ mro__

`` `

### método de clasificación

`` `Python

1. Métodos de objetos

    características:

        Un método como se define en la clase, que contiene parámetro auto

        2. El método de la que contiene el mismo, sólo puede ser llamado mediante el objeto

        3. El método llamaría objetos pasan en el

2. Métodos de la Clase

    características:

        1. El método como se define en la clase, el decorador están decoradas @classmethod

        2. Este método tiene argumentos cls de línea. Una instancia de un objeto no es necesario utilizar directamente la llamada clase

        3. Este método va a llamar a la clase aprobada en

3. Método de la clase Binding

    características:

        1. El método definido en la clase

        2. Use solamente ser llamados de clase

        3. objeto entrante o clase no se transmite

4. Método estático

    características:

        1. En el método definido en la clase, usamos el decorador están decoradas @staticmethod

        2. Puede utilizar una llamada a un objeto o una clase de

        3. objeto entrante o clase no se transmite

`` `

### funciones de uso general

`` `Python

# clases de detección y objetos relacionados

# Issubclass (subclase, la clase padre) # detectar si una clase es una subclase de otra clase

# Res = issubclass (D, B)

# El isinstance (clase de objeto) # detectar si un objeto es una instancia de la clase o subclase del resultado de la clase

# Res = isinstance (d, A)

# Miembros de las clases y objetos relacionados con la operación

# hasattr (objeto / clase 'nombres de los miembros') detectar la clase / objeto contiene el nombre del miembro de la especificada

# Res = hasattr (d, 'nombre')

#getattr (objeto / clase 'nombres de los miembros') Obtiene el valor de un miembro de la clase # / objeto

# Res = getattr (d, 'por ejemplo')

valor de atributo del miembro # setattr (objeto / clase 'nombre de miembro', 'valor del miembro') proporcionado clase / objeto

res = setattr (d, 'nombre', 'ooo')

# Impresión (d.name)

#delattr (clase / objeto 'nombre de usuario') Clase de borrado / propiedades de miembro del objeto y de eliminar un objeto es un miembro de los mismos resultados

# Delattr (D, 'nombre')

# Dir () # obtener una lista de objeto actual se puede acceder por los miembros de la

nada = decir (d)

`` `

Métodos mágicos ###

Método> Magia que no requiere de llamadas a métodos manuales se puede ejecutar de forma automática

`` `Python

1. método de inicialización __init__ *****

    Mecanismo de disparo: el método cuando instanciar el objeto y luego se inmediatamente gatillo

    Papel: actualmente objeto completo creado algunas operaciones de inicialización, tales como: método de asignación de llamadas de propiedades de miembro, abra o cree algunos recursos. .

    Parámetros: un auto, que reciben el objeto actual, otros parámetros pueden ser definidos de acuerdo con las necesidades

    Valor de retorno: Ninguno

    Advertencias: Ninguna

2. constructor __new__ ****

    Mecanismo de disparo: disparador automático (gatillo antes __init__) cuando se crea una instancia de un objeto

    Papel: el control del proceso de gestión de objetos creados

    Parámetros: cls reciben una clase actual, otros parámetros se determinan de acuerdo con el método de parámetros de inicialización

    Valor de retorno: debe devolver objeto .__ nueva __ (CLS) objeto creado, si no hay valor de retorno es una instancia de un objeto Ninguno resultados

    precauciones:

            método Parámetro __init__ y un método de __new__ consistencia, además de la primera parámetro

            Debe devolver el objeto .__ __ nuevas (CLS) objeto creado, si no hay valor de retorno es una instancia de un objeto Ninguno resultados

    Escenario: diseño de producto único patrón de diseño de patrones

3. destructor __del__ *****

    Mecanismo de disparo: Cuando el objeto de clase se destruye gatillo automáticamente

    Algunos recursos o crean abierta o cerrada cuando la liberación de los objetos creados: el papel de las

    Parámetros: un auto, aceptan el objeto actual

    Valor de retorno: Ninguno

    Advertencias: Ninguna

4. __call__ ***

    El mecanismo de gatillo: activa automáticamente cuando el objeto como llamadas a funciones directas

    Acción: clase general u objeto de medidas inductivas para facilitar la llamada

    Parámetros: recibir un objeto auto actual, de acuerdo con otros parámetros de llamada con necesidades desventajas

    Devuelve: opcionales

5 .__ len__

    Mecanismo de disparo: Al utilizar la función len para detectar el objeto corriente de disparo automáticamente

    Acción: len función puede ser utilizado en la información de detección del objeto actual es un conjunto de datos

    Parámetros: recibir un objeto auto actual

    Devuelve: tiene que haber, y debe ser un entero

    Nota: len para obtener el valor de cualquier propiedad, la longitud de la cual la propiedad se devuelve en el valor de retorno puede ser

6 .__ str__

    mecanismo de activación: Cuando un str función de impresión o en función funcionará automáticamente en el objeto

    Acción: regresar cadena de código objeto, información personalizada puede imprimirse

    Parámetros: un auto, que reciben el objeto actual

    Devuelve: tiene que haber, lejos debe ser un valor de tipo string

7 .__ repr__

    Mecanismo de disparo: activa automáticamente cuando el objeto actual utilizando el método repr para convertir

    Efecto: los resultados se pueden proporcionar en la función repr objetivo de la operación

    Parámetros: un auto, que reciben el objeto actual

    Devuelve: tiene que haber, lejos debe ser un valor de tipo string

    Nota: En circunstancias normales, si no hay magia __str__ este método, __ método repr__ sustituirá a los métodos mágicos __str__

8 .__ bool__

    Mecanismo de disparo: la función de uso bool corriente convierte el objeto actual, provocada automáticamente por defecto, el objeto se convierte en True.

    Efecto: bool objeto puede sustituir el tipo de convertidor que puede convertir cualquier dato

    Parámetros: recibir un auto objetos

    Devuelve: el valor de retorno debe ser un valor lógico

`` `

### miembros de los métodos mágicos pertinentes

`` `Python

## 1. __getattribute__ más alta prioridad

    mecanismo de activación: Al ingresar a miembros de objetos, activa automáticamente, independientemente de si hay un miembro actual

    Rol: Usted puede obtener el objeto cuando los miembros de algunos de los datos de procesamiento

    Parámetros: un objeto auto de recepción, un nombre de elemento del miembro actual de acceso recibe

    Valor de retorno: prescindible, el valor de retorno es el resultado de un acceso

    Nota: En el método de la magia actual, se accede a la prohibición de los miembros del objeto actual, se disparará la recursividad.

            Si desea acceder al objeto de los miembros actuales de métodos mágicos debe ser utilizado para acceder al objeto

            Formato: Object .__ getAttribute __ (self, elemento)

## 2. __getattr__

    mecanismo de activación: Cuando un miembro para acceder al objeto no existe, el gatillo de forma automática

    Papel: para evitar el acceso de los miembros, cuando no existe un error, también puede ser un miembro de la asignación no existe

    Parámetros: un auto que recibe el objeto actual, un nombre de elemento del miembro actual de acceso recibe

    Devuelve: opcionales

    Nota: Cuando hay __getattribute__ método, el método será realizar __getattribute__

    Tenga en cuenta, también, de no visitar de nuevo este no existe en los miembros actuales del método, se disparará la recursividad

## 3. __setattr__

    Mecanismo de disparo: Cuando la cesión a los miembros del objeto activa automáticamente (incluyendo añadir, modificar)

    Papel: límite u objetivo miembros de la administración para añadir y modificar las operaciones

    Parámetros: 1. 2 recibe el objeto actual auto. Nombre de usuario configuración de la tecla 3. valores de los miembros de ajuste Val

    Valor de retorno: Ninguno

    Nota: En el método mágico prohibición actual para apuntar directamente a los miembros de la asignación actual, se disparará la recursividad

            Si desea asignar a los miembros del objeto actual, necesita el objeto

            Formato: Object .__ setattr __ (self, clave, valor)

## 4. __delattr__

    Mecanismo de disparo: Cuando supresión de objetos automáticamente miembro de disparo

    Puede impedir que se presta a limitar el objeto de eliminar un miembro, también puede eliminar el miembro no existe: el papel de las

    Parámetros: 1, la auto 2 recibe el objeto actual. Nombre del elemento eliminado miembro

    Valor de retorno: Ninguno

    Nota: No elimine el objeto de los miembros actuales de métodos mágicos, se disparará la recursividad.

            Si desea eliminar miembros del objeto actual, necesitamos la ayuda de objetos

            Formato: Object .__ delattr __ (self, elemento)

`` `

### miembros de la orden de acceso! ! !

1. Llame al método mágico `__getattribute__`

2. descriptor de datos de llamadas hablará más adelante []

3. Los miembros de Llamadas del objeto actual

4. Llama a los miembros de la clase actual

5. Llamada de datos de descriptores [no habla más adelante]

6. Llama a los miembros de la clase de los padres

7. Llame al método mágico `__getattr__`

> Cuando la secuencia de pasos anterior al llamar a un miembro de lo anterior se puede invocar con éxito, no se realiza la parte posterior

 

El dominio método de aprendizaje, ya que se doblará para superar!

Aprender a simios: los logros de su propia simplemente una boutique!

Supongo que te gusta

Origin www.cnblogs.com/itxdl/p/12522545.html
Recomendado
Clasificación