ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Python Programas Nativos


Enviado por   •  31 de Diciembre de 2013  •  1.204 Palabras (5 Páginas)  •  372 Visitas

Página 1 de 5

Algunos objetos nativos de Python

Hemos visto que es conveniente separar el manejo de los datos de la complejidad de los procesos requeridos para resolver un problema del mundo real. En un segundo paso, nos preocupamos de implementar los tipos de datos que necesitemos.

Pero esto no es una idea tan reciente, por lo que en todos los lenguajes de programación existen bibliotecas (libraries, modules, etc.) con estructuras de datos complejas creadas por otros programadores en un sinfín de ámbitos. Incluso, las estructuras más clásicas tienden a estar disponibles de forma nativa.

Veamos algunas de las estructuras nativas de Python, que nos permitirán resolver muchos problemas directamente y también nos facilitarán la construcción de nuestras propias estructuras de datos. Recordemos que en Python, las estructuras de datos se llaman clases de objetos, y que aunque desconocemos cómo está organizado internamente el contenido de estos objetos, tenemos disponibles métodos que nos permiten acceder a ese contenido, y modificarlo en objetos que son de naturaleza mutable.

Filas

Las filas (queues) son secuencias de valores que cuando reciben un nuevo elemento lo agregan al final, y cuando se retira un elemento lo sacan desde el frente. Es decir, esto emula él comportamiento típico de las filas (o colas) que hacemos los seres humanos, como las filas de los bancos o los supermercados.

Las filas son una de las estructuras de datos clásicas, ya que las tareas que uno o más usuarios quieren ejecutar en un computador son normalmente encoladas en el orden en que se solicitan. Cuando la CPU se desocupa, atiende primero a aquella tarea que lleva más tiempo en la fila, es decir, la tarea que se encuentra al frente de la cola.

En Python, las filas están implementadas como objetos de clase list, como se muestra en el Ejemplo 1.

El método .append(x) agrega el elemento x al final de la lista; el método .pop(i) saca y devuelve el elemento de la lista en la posición i. De esta forma, es simple hacer que las listas de Python se comporten como filas.

Pilas

Otra de las estructuras de datos clásicas son las pilas (stacks). En las pilas, los elementos nuevos se colocan al frente de la secuencia y también se retiran desde el frente. Es decir, tienen el comportamiento de las pilas de platos al lavar la loza: primero enjabonamos los platos, uno a uno, y los vamos apilando; luego abrimos el agua y los enjuagamos, desde el que está encima hasta el que está en la base. Las pilas aparecieron hace muchos años en la computación porque es la estructura que se requiere para administrar llamadas a subrutinas. Por ejemplo, supongamos que una subrutina A, invoca una subrutina B, la que invoca una subrutina C, la que invoca una subrutina D; cuando la subrutina D termina su ejecución, el control de ejecución debe volver a la subrutina que la llamó, es decir a la subrutina C; cuando la subrutina C termina, el control ha de devolverse a la subrutina B; sólo cuando la subrutina B termina, el control vuelve a la primera subrutina A. Note que en la recursión A = B = C = D, pero el mecanismo es el mismo y permite devolver el control al estado de ejecución pendiente que corresponde.

En Python, las pilas también están implementadas como objetos de clase list, como se muestra en el Ejemplo 2.

Conjuntos

Python también dispone de conjuntos en forma nativa. Aquí “conjunto” se ha de entender como en su definición matemática: un grupo finito y sin orden de elementos únicos (no pueden existir dos elementos iguales en un conjunto). En Python se agrega otra restricción: los elementos deben ser además inmutables.

Los conjuntos en Python están implementados

...

Descargar como (para miembros actualizados) txt (7 Kb)
Leer 4 páginas más »
Disponible sólo en Clubensayos.com