Programación orientada a objetos. Tarea academica
Enviado por pierogf12 • 28 de Junio de 2023 • Tarea • 1.546 Palabras (7 Páginas) • 249 Visitas
PROGRAMACIÓN ORIENTADA A OBJETOS
Tema:
Tarea Académica 1
Docente:
Rosangela Abregú
Integrantes:
- Gonzales Martínez Piero U20201305
Año:
2023[pic 1][pic 2]
ÍNDICE
Introducción 3
1. Clases persistente con Python 3
1.1 pickle: 3
1.1.1 Constantes que proporciona el módulo pickle 4
1.1.2 Ejemplos de módulo pickle 4
1.2 marshal: 6
1.2.1 Funciones del Módulo marshal 7
1.2.2 Ejemplos de modulo marshal 9
1.3 Comparación de pickle y marshal 10
BIBLIOGRAFIA: 11
Introducción
En la presente tarea académica 1 se explicara las clases Persistentes de los lenguajes de programación de Python, c# y con escala. En primer lugar, en las clases de persistencia con Python se explicara el funcionamiento de estas mostrando sus tipos, ejemplos con capturas de pantalla usando estas clases en códigos y comparaciones de unos de los módulos de persistencia que cuenta Python. En segundo lugar,
Clases persistente con Python
En el lenguaje de Programación de Python tienen clases de persistencia que sirve cuando un programa termina su ejecución donde el contenido de los objetos son eliminados. Es por ello que Python cuenta con módulos como pickle y marshal que permiten que el estado de un objeto “persista”, que son capaces de guardar el estado de un objeto de un archivo.
- pickle: Es un módulo que implementa protocolos binarios para serializar y deserializar una estructura de objeto de Python. "Decapado" es el proceso por el cual una jerarquía de objetos de Python se convierte en un flujo de bytes, y "desmantelamiento" es la operación inversa, por la cual un flujo de bytes (de un archivo binario o un objeto similar a bytes ) se vuelve a convertir en una jerarquía de objetos. El decapado (y el decapado) se conoce alternativamente como "serialización", "clasificación" 1 o "aplanamiento"; sin embargo, para evitar confusiones, los términos utilizados aquí son "decapado" y "desdecapado". Además, Python advierte que no es un módulo seguro que se debe usar para desechar datos en los que confié.
Es posible construir datos de pickle maliciosos que ejecutarán código arbitrario durante el despickling . Nunca elimine datos que podrían haber venido de una fuente no confiable o que podrían haber sido alterados. Ademas, considere la posibilidad de firmar datos hmac si necesita asegurarse de que no hayan sido manipulados. Tambien los formatos de serialización más seguros, como los que json pueden ser más apropiados si está procesando datos que no son de confianza.
1.1.1 Constantes que proporciona el módulo pickle
pickle.HIGHEST_PROTOCOL
Un entero, la versión de protocolo (protocol version) más alta disponible. Este valor se puede pasar como un valor de protocolo a las funciones dump() y dumps() así como al constructor Pickler.
pickle.DEFAULT_PROTOCOL
Un entero, la versión de protocolo (protocol version) predeterminada utilizada para el serializado con pickle. Puede ser menor que HIGHEST_PROTOCOL. Actualmente, el protocolo predeterminado es 4, introducido por primera vez en Python 3.4 e incompatible con versiones anteriores.
1.1.2 Ejemplos de módulo pickle
[pic 3][pic 4]
Persistencia de Objetos[pic 5]
- marshal: Este módulo contiene funciones que pueden leer y escribir valores de Python en un formato binario. El formato es específico de Python, pero independiente de los problemas de arquitectura de la máquina (por ejemplo, puede escribir un valor de Python en un archivo en un PC, transportar el archivo a un Sun y leerlo allí). Los detalles del formato están indocumentados a propósito; pueden cambiar entre las versiones de Python (aunque rara vez lo hacen).
Este no es un módulo general de «persistencia». Para la persistencia general y la transferencia de objetos Python a través de llamadas RPC, consulte los módulos pickle y shelve. El módulo marshal existe principalmente para admitir la lectura y escritura del código «pseudocompilado» para los módulos Python de archivos .pyc. Por lo tanto, los mantenedores de Python se reservan el derecho de modificar el formato de cálculo de referencias de manera incompatible hacia atrás en caso de necesidad. Si va a serializar y deserializar objetos Python, utilice el módulo pickle en su lugar: el rendimiento es comparable, la independencia de la versión está garantizada y pickle admite una gama sustancialmente más amplia de objetos que marshal.
1.2.1 Funciones del Módulo marshal
marshal.dump(value, file[, version])
Escribe el valor en el archivo abierto. El valor debe ser un tipo admitido. El archivo debe ser un archivo binary file en el que se pueda escribir. Si el valor tiene (o contiene un objeto que tiene) un tipo no admitido, se produce una excepción ValueError — pero los datos no utilizados también se escribirán en el archivo. El objeto no será leído correctamente por load().
El argumento version indica el formato de datos que dump debe usar (véase más adelante).
Lanza un evento de auditoría marshal.dumps con argumentos value, versión
...