Gran éxito de Python para todos

(24)

'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

(97)

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

(14)

¿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.


Seguir leyendo Threads en Python…

Interactuar con webs en Python

(5)

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.



Seguir leyendo Interactuar con webs en Python…

Sockets en Python

(7)

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.



Seguir leyendo Sockets en Python…

Python: Expresiones regulares

(5)

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.



Seguir leyendo Python: Expresiones regulares…

Python: Entrada / Salida. Ficheros

(6)

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.


Seguir leyendo Python: Entrada / Salida. Ficheros…

Python: Módulos y paquetes

(1)

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"



Seguir leyendo Python: Módulos y paquetes…

Python: Excepciones

(5)

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.


Seguir leyendo Python: Excepciones…

Python: Programación funcional

(9)

La programación funcional es un paradigma en el que la programación se basa casi en su totalidad en funciones, entendiendo el concepto de función según su definición matemática, y no como los simples subprogramas de los lenguajes imperativos que hemos visto hasta ahora.

En los lenguajes funcionales puros un programa consiste exclusivamente en la aplicación de distintas funciones a un valor de entrada para obtener un valor de salida.

Python, sin ser un lenguaje puramente funcional incluye varias características tomadas de los lenguajes funcionales como son las funciones de orden superior o las funciones lambda (funciones anónimas).



Seguir leyendo Python: Programación funcional…

Página 1 de 3123»