Python: Serialización de objetos

(14 comentarios)

Algunas veces tenemos la necesidad de guardar un objeto a disco para poder recuperarlo más tarde, o puede que nos sea necesario mandar un objeto a través de la red, a otro programa en Python ejecutándose en otra máquina.

Al proceso de transformar el estado de un objeto en un formato que se pueda almacenar, recuperar y transportar se le conoce con el nombre de serialización o marshalling.

En Python tenemos varios módulos que nos facilitan esta tarea, como marshal, pickle, cPickle y shelve.

[Pulsa para continuar]

Gran éxito de Python para todos

(45 comentarios)

‘Python para todos’ es un libro sobre programación en Python que se puede descargar gratuitamente y que se basa en los tutoriales sobre el lenguaje que he ido publicando en Mundo geek desde hace un tiempo.

Una semana después de publicarlo ya ha habido más de 12.000 descargas, y ha recibido el premio de editores de UptoDown. De hecho he tenido que alojarlo temporalmente en rapidshare debido al consumo masivo de ancho de banda…

¡Muchas gracias a todos!

El tutorial de Python en PDF

(167 comentarios)

Tutorial de Python 'Python para todos' Después de un par de días pegándome con InDesign aquí tenéis el tutorial de Python de Mundo geek en PDF: Tutorial de Python ‘Python para todos’.

Está bajo licencia Creative Commons Reconocimiento 2.5, por lo que podéis distribuirlo, modificarlo, traducirlo a otros idiomas, o incluso venderlo, … con el único requerimiento de mencionar el autor original (preferiblemente con un enlace a la web).

En total son 108 hojas, que iré actualizando y ampliando a la vez que los artículos del blog. Estos son los temas que se tratan en el tutorial de Python:

  • Tipos básicos
  • Control de flujo
  • Funciones
  • Orientación a objetos
  • Programación funcional
  • Excepciones
  • Módulos y paquetes
  • Entrada / Salida
  • Expresiones regulares
  • Sockets
  • Interacción con webs
  • Threads

Si encontráis cualquier error o tenéis cualquier sugerencia mandadme un correo o dejad un comentario ;)

Threads en Python

(25 comentarios)

¿Qué son los procesos y los threads?

Las computadoras serían mucho menos útiles si no pudiéramos hacer más de una cosa a la vez. Si no pudiéramos, por ejemplo, escuchar música en nuestro reproductor de audio favorito mientras leemos un tutorial de Python en Mundo Geek.

Pero, ¿cómo se conseguía esto en computadoras antiguas con un solo núcleo / una sola CPU? Lo que ocurría, y lo que ocurre ahora, es que en realidad no estamos ejecutando varios procesos a la vez (se llama proceso a un programa en ejecución), sino que los procesos se van turnando y, dada la velocidad a la que ejecutan las instrucciones, nosotros tenemos la impresión de que las tareas se ejecutan de forma paralela como si tuviéramos multitarea real.

[Pulsa para continuar]

Interactuar con webs en Python

(18 comentarios)

Existen dos módulos principales para leer datos de URLs en Python: urllib y urllib2. En esta lección aprenderemos a utilizar urllib2 ya que es mucho más completo, aunque urllib tiene funcionalidades propias que no se pueden encontrar en urllib2, por lo que también lo tocaremos de pasada.

urllib2 puede leer datos de una URL usando varios protocolos como HTTP, HTTPS, FTP, o Gopher.

[Pulsa para continuar]

Sockets en Python

(32 comentarios)

La comunicación entre distintas entidades en una red se basa en Python en el clásico concepto de sockets. Los sockets son un concepto abstracto con el que se designa al punto final de una conexión.

Los programas utilizan sockets para comunicarse con otros programas, que pueden estar situados en computadoras distintas.

Un socket queda definido por la dirección IP de la máquina, el puerto en el que escucha, y el protocolo que utiliza.

[Pulsa para continuar]

Python: Expresiones regulares

(24 comentarios)

Las expresiones regulares, también llamadas regex o regexp, consisten en patrones que describen conjuntos de cadenas de caracteres.

Algo parecido sería escribir en la línea de comandos de Windows

dir *.exe

‘*.exe’ sería una “expresión regular” que describiría todas las cadenas de caracteres que empiezan con cualquier cosa seguida de ‘.exe’, es decir, todos los archivos exe.

El trabajo con expresiones regulares en Python se realiza mediante el módulo re, que data de Python 1.5 y que proporciona una sintaxis para la creación de patrones similar a la de Perl. En Python 1.6 el módulo se reescribió para dotarlo de soporte de cadenas unicode y mejorar su rendimiento.

[Pulsa para continuar]

Python: Entrada / Salida. Ficheros

(41 comentarios)

Nuestros programas serían de muy poca utilidad si no fueran capaces de interaccionar con el usuario. En capítulos anteriores vimos, de pasada, el uso de la palabra clave print para mostrar mensajes en pantalla.

En esta lección, además de describir más detalladamente del uso de print para mostrar mensajes al usuario, aprenderemos a utilizar las funciones input y raw_input para pedir información, así como los argumentos de línea de comandos y, por último, la entrada/salida de ficheros.

[Pulsa para continuar]

Python: Módulos y paquetes

(18 comentarios)

Módulos

Para facilitar el mantenimiento y la lectura los programas demasiado largos pueden dividirse en módulos, agrupando elementos relacionados. Los módulos son entidades que permiten una organización y división lógica de nuestro código. Los ficheros son su contrapartida física: cada archivo Python almacenado en disco equivale a un módulo.

Vamos a crear nuestro primer módulo entonces creando un pequeño archivo modulo.py con el siguiente contenido:

def mi_funcion():
    print "una funcion"

class MiClase:
    def __init__(self):
        print "una clase"

print "un modulo"

[Pulsa para continuar]

Python: Excepciones

(15 comentarios)

Las excepciones son errores detectados por Python durante la ejecución del programa. Cuando el intérprete se encuentra con una situación excepcional, como el intentar dividir un número entre 0 o el intentar acceder a un archivo que no existe, este genera o lanza una excepción, informando al usuario de que existe algún problema.

Si la excepción no se captura el flujo de ejecución se interrumpe y se muestra la información asociada a la excepción en la consola de forma que el programador pueda solucionar el problema.

[Pulsa para continuar]

Página 3 de 612345...Último »