Entradas

JUPP: joe de Linux para Windows

Imagen
Hola. Como ya he comentado en más de una ocasión, trabajo en entornos Windows XP (aunque prefiero Linux Ubuntu ). En mi linux  siempre he trabajado con el editor de textos joe , y en Windows evidentemente no... sin embargo hace unos meses descubrí JUPP . JUPP es la versión portable de Joe's Own Editor ( joe ), uno de los editores de texto-ASCII más antiguos de sistemas Linux . En los tiempos en los que yo programaba en C , en vez de utilizar Emacs ó vi , usaba joe , sobretodo por la utilización de teclas imitando a WordStar , un procesador de textos de los años 80 y 90, que sucumbió, como no, a la serie Office de Microsoft , como tantos otros ( WordPerfect , etc). JUPP es software libre, así que se puede distribuir y modificar bajo los términos de la GNU GPL . JUPP (ó joe para Linux ) es un editor de texto para consola, donde prima mucho la utilización de teclas para operar sobre bloques de texto. Si eres de mi época, seguro que te acuerdas de las guerras entre los...

Palabras clave y funciones integradas en Python

Imagen
Si queremos saber las palabras clave que tiene nuestra versión actual de Python podemos acceder al módulo  keyword , el cual recoge dicho conjunto de vocablos. Tal que así: import keyword print "Palabras clave", keyword.kwlist Si nos ponemos algo más puntillosos , podemos mejorar la presentación, bien utilizando el módulo pprint , ó creando una presentación por columnas, tal que así: import keyword tab = '\t' enter = '\n' contador = 0 cadena = '' for i in keyword.kwlist:     cadena += i + tab     if contador == 5:         contador = 0         cadena += enter     else:         contador += 1 print cadena Devolviendo las palabras clave (versión 2.6.6 ): Python trae consigo ciertas funciones que vienen de serie , esto es, no es necesario cargarlas desde ningún módulo, como raw_input ó abs . Dichas funciones dependen de la versión Python que tengamos in...

Certificación en Python

Hola. Hoy he leído en el blog de Mike Driscoll ( http://www.blog.pythonlibrary.org/ ), gurú de Python , un artículo ( http://www.blog.pythonlibrary.org/2010/12/14/the-new-python-certificate/ ) muy interesante sobre un programa de certificación en Python , por la Universidad de Illinois (EEUU). Evidentemente a los navegantes de la península nos queda algo "retirado", incluso a nuestros hermanos de América del Sur. El artículo está en inglés, pero os recomiendo su lectura. Un paso hacia la certificación en Python . Ojalá instituciones (universidades, por ejemplo) nacionales ó empresas de nivel mundial ( ...mmm, ¿Google?) creasen este tipo de certificaciones. Más información en  http://www.oreillyschool.com/certificates/python-programming.php . Saludos.

Área de descargas de El Viaje del Navegante

Hola. Me he dado cuenta que cada vez que escribo un post que contiene mucho código no suele ser una buena idea, ya que el lector tiende a no leerlo (yo tampoco lo haría). Es por ello que conforme vaya escribiendo artículos de aplicaciones sencillas, colgaré el código generado ( zip con ficheros .py ) de los ejemplos en la siguiente dirección web: https://sites.google.com/site/elviajedelnavegante/ Voy a intentar colgar todo el código posible. A día de hoy tenéis en la sección de código , un ejemplo del FoldPanelBar y wxFormBuilder del artículo  http://elviajedelnavegante.blogspot.com/2010/12/wxpython-disenar-un-mantenimiento-con.html . Además colgaré documentación referida a Python en la sección de documentación (a día de hoy está la presentación en PDF de Python y wxPython ). Una última cosa... Yo normalmente comento abundantemente el código que diseño ó escribo ( ¡el motivo fundamental es que tengo memoria de pez , se me olvida! ), por lo que bajar los ficheros no...

wxPython: Diseñar un mantenimiento con FoldPanelBar y wxFormBuilder

Imagen
Hola. En este artículo vamos a ver como diseñar un mantenimiento sofisticado en wxPython , con la ayuda del componente de wxPython , el FoldPanelBar , y el diseñador wxFormBuilder . ¿Qué es un FoldPanelBar ? Es un conjunto de paneles colapsables, para presentar la información en un Frame de manera parcial, activando y desactivando paneles colapsables. Es lo más parecido a wx.CollapsiblePane , pero en vez de un panel puede haber varios. Tenéis un ejemplo completo en el wxPython 2.8 Docs Demos and Tools , que se puede obtener de  http://www.wxpython.org/download.php#stable . Como podemos ver este componente está dentro de un SplitterWindow , que es un Frame que se puede dividir en zonas, tal como se ve en la imagen. La cuestión es hacer un mantenimiento de datos, que utilice dicho componente de paneles colapsables. El diseño del FoldPanelBar se hará en base al código que está disponible en la documentación de wxPython . Lo único que nos falta es diseñar el contenido de los...

Herencia múltiple en Python, ¡el orden importa!

Imagen
Hola. En este artículo vamos a ver la importancia de definir bien la herencia múltiple , esto es, el orden en el cual se llama a los constructores ( __init__ , que no es el constructor, aunque sí es el sitio donde escribiremos el código que ejecutaría el constructor) de las clases heredadas, ya que es fundamental, así como la importancia de nombrar bien a los atributos, para que no se sobreescriban ( override ); en Python no hay polimorfismo entendido como sobrecarga de métodos, aunque hay maneras de emularlo. NOTA: Si se quiere entender con más profundidad como Python resuelve el tema de la herencia múltiple aconsejo que miréis el tema de MRO en  http://www.python.org/download/releases/2.3/mro/ . Comenzamos... Imaginemos que declaramos dos clases que heredan de object : clase1 y clase2 . Creamos una tercera clase, clase3 , que hereda de clase1 y clase2 . Tal como aparece en la imagen de abajo: Al instanciar la clase3 vemos que ha heredado los métodos de las clases ...

Python en Murcia, la primera y no la última...

Imagen
Hola. En este post os dejo el enlace para que os descarguéis la presentación (lo he convertido a PDF) que realicé en la Murcia Lan Party 2010 , el pasado martes. Siento los que no podáis haber ido, ya que me hubiera gustado conoceros en persona, cambiar impresiones y plantearnos nuevas "quedadas", con más tiempo, para hablar de Python , hacer talleres sobre tecnologías adyacentes ( wxPython , Django , móviles ), es decir, aprender los unos de los otros. Sería una buena idea, creo yo. La gente que fue a la presentación estuvo genial, ya que permanecieron sentados y a excepción de una persona, ¡¡¡no se fue nadie!!!! . Tengo que decir que me alargué en exceso intentando explicar código Python , algo que no volverá a suceder, ya que en vez de una hora me alargué a hora y media, algo que no puede ser, ya que me hice "algo pesado" en algún momento. Pero como de los errores se aprende, en la siguiente exposición (espero que esta sea la primera de muchas) seré mucho m...