Указатель содержания
Este decorador devuelve la función get_instance(). Esta función verifica ver si la instancia de la variable está establecida en Ninguno o no; si se establece en Ninguno, instancia la clase pasó al decorador y la almacena en la variable de instancia. entonces devuelve la instancia. Si la instancia ya está configurada, simplemente devuelve la instancia. Podemos aplicar este decorador a clases completas como Service y Foo a continuación: Ahora podemos usar las clases Service y Foo normalmente; sin embargo, solo una instancia of Service y una instancia de Foo se crearán alguna vez en el mismo programa: En el fragmento de código anterior, parece que hemos creado dos nuevos servicios objetos y dos objetos Foo; sin embargo, el decorador @singleton restringirá el número de instancias creadas a una y reutilizará esa instancia cada vez que una solicitud se hace para instanciar la clase dada. Por lo tanto, cuando ejecutamos este ejemplo, podemos ver que el número hexadecimal que representa la ubicación del objeto en la memoria es lo mismo para los dos objetos Servicio y lo mismo para los dos objetos Foo: @único servicio de clase (objeto): def print_it(self): imprimir (uno mismo) @único clase Foo(objeto): aprobar imprimir(‘Iniciando’) s1 = Servicio() imprimir(s1) s2 = Servicio() imprimir (s2) f1 = foo() imprimir (f1) f2 = foo() imprimir (f2) imprimir(‘Terminado’) En singleton para: <clase ‘main.Service’> En singleton para: <clase ‘main.Foo’> A partir de <principal.Objeto de servicio en 0x10ac3f780> <principal.Objeto de servicio en 0x10ac3f780> <main.Objeto Foo en 0x10ac3f7b8> <main.Objeto Foo en 0x10ac3f7b8> Hecho 346 29 Decoradores
popular post
Temas de Pregrado en Ciencias de la Computación Principiantes Guía de Python 3 Programación Juan caza
Прочитайте большеTemas de Pregrado en Ciencias de la Computación Principiantes Guía de Python 3 Programación Juan caza
Прочитайте большеgratis. Para la mayor parte del trabajo que hago en Python, la versión Community es más que adecuado y por lo tanto es la versión que puede descargar e instalar (nota con el Versión profesional, obtiene una prueba gratuita, pero deberá pagar la versión completa versión al final de la versión de prueba o vuelva a instalar la versión de la Comunidad en ese momento).
Прочитайте больше