preloader

1 janvier 1 | 2 minutes de lecture
Index du contenu

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

comments powered by Disqus

popular post

Temas de Pregrado en Ciencias de la Computación Guía avanzada a Python 3 Programación Juan caza

Lire plus

Temas de Pregrado en Ciencias de la Computación Guía avanzada a Python 3 Programación Juan caza

Lire plus

• https://docs.python.org/3/ El sitio principal de documentación de Python 3. Contiene tutoriales, referencias de bibliotecas, guías de configuración e instalación, así como Python cómo-tos • https://docs.

Lire plus