0% encontró este documento útil (0 votos)
34 vistas2 páginas

Características Importantes de Python

El documento presenta características clave de Python, destacando su compilación directa a código byte, su orientación a objetos, y su soporte para extensiones en C/C++. También se explica el mecanismo de recolección de basura en Python, que incluye el recuento de referencias y el reciclaje intergeneracional para gestionar la memoria. Además, se menciona el uso del módulo 'gc' para la recolección de basura y la liberación manual de memoria.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
34 vistas2 páginas

Características Importantes de Python

El documento presenta características clave de Python, destacando su compilación directa a código byte, su orientación a objetos, y su soporte para extensiones en C/C++. También se explica el mecanismo de recolección de basura en Python, que incluye el recuento de referencias y el reciclaje intergeneracional para gestionar la memoria. Además, se menciona el uso del módulo 'gc' para la recolección de basura y la liberación manual de memoria.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

CTIC - UNI

Programación en Python Nivel básico

Características importantes de Python


Las siguientes son algunas de las características más esenciales de Python:

 Código fuente a código Byte


Sin ningún paso intermedio, se compila el código fuente de Python directamente al
código de bytes. Esto permite que los scripts de Python se ejecuten en múltiples
plataformas sin la necesidad de una herramienta externa.

 Orientado a objetos
Python es un lenguaje de programación totalmente orientado a objetos. En Python,
todo es una entidad. Además, las clases en Python lo simplifican para construir nuevos
objetos.

 Soporte para extensión C / C ++


El código Python se puede expandir aún más en C y C ++. Este método Aumenta
enormemente la velocidad de un programa Python.

 Lenguaje dinámico
Python es un lenguaje de programación dinámico. Los formularios están vinculados a
valores en lugar de variables. Además, las búsquedas de métodos y funciones se realizan
en tiempo de ejecución.

 Recolección automática de basura (garbage collection)


Python maneja la recolección de basura automáticamente. El módulo "gc", en por otro
lado, se puede utilizar para realizar la recolección de basura en cualquier momento.

 Lenguaje altamente estructurado


Declaraciones, funciones, clases, módulos y paquetes, así como la sintaxis basada en
sangría de Python, permiten a los desarrolladores escribir código altamente
estructurado y legible.

 Rápido y mantenible en comparación con otros idiomas


Python es más rápido, más organizado y más fácil de administrar en comparación con
otros lenguajes compilados.

Mecanismo de recolección de basura de Python y módulo gc

La recolección de basura en Python se implementa mediante el recuento de referencias y


la recolección generacional.

 Recuento de referencias: cuando se crea el objeto, el recuento de referencias aumenta


en 1, la referencia del objeto se elimina y el recuento de referencias se reduce en 1.
Cuando el recuento de referencias es 0, la memoria ocupada por el objeto será
publicado.
CTIC - UNI
Programación en Python Nivel básico

 La referencia circular a se refiere a byb se refiere a a. El recuento de referencia nunca


será 0. En este caso, el recuento de referencia no puede resolver el problema de la
liberación de memoria. Este problema puede resolverse mediante el reciclaje
intergeneracional.
 Reciclaje intergeneracional: hay tres listas vinculadas (cada vez que se crea un objeto,
python agregará el objeto a la lista vinculada),
 Principio: El recuento de aplicaciones se reduce en uno para aquellos objetos en la
cadena que no están referenciados pero cuyo recuento no es cero. El recuento de
referencia se resta por uno muchas veces y aún no es cero. Se limpiará en la generación
0 vinculada. lista hasta que el recuento sea 0. La lista enlazada de generación 0 se
limpiará hasta un cierto número de veces, la lista enlazada de primera generación se
borrará y la lista enlazada de primera generación se borrará un número determinado de
veces, y la segunda Se borrará la lista de generación enlazada. El número de limpiezas
está determinado por el bloque de madera gc.
 gc.set_threshold (200,20,10), 200 representa el número de veces que se limpia la lista
enlazada de la generación 0, 20 representa la primera generación y 10 representa la
segunda generación.
 La secuencia de limpieza: Cuando la generación 0 se limpia 200 veces, la generación 1
se limpia y la lista vinculada de la generación 0 se limpia una vez. Cuando la generación
1 se limpia 20 veces, la generación 2 se limpia y ambas generaciones 0 y 1 también se
limpiarán. limpiado.
 La configuración predeterminada de Python 2.7 es (133,2,4)
 Python libera memoria manualmente

import gc
# a es una variable o una función
del a
gc.collect()

Referencias
gc - Interfaz del recolector de basura
https://runebook.dev/es/docs/python/library/gc

gc — Recolector de basura
https://rico-schmidt.name/pymotw-3/gc/index.html

También podría gustarte