Python
De Wikipedia, la enciclopedia libre
Paradigma: | multiparadigma |
---|---|
Apareció en: | 1990 |
Diseñado por: | Guido van Rossum |
Tipo de dato: | fuerte, dinámico |
Implementaciones: | CPython, Jython, IronPython, PyPy |
Influido por: | ABC, TCL, Perl, Modula-3, Smalltalk |
Ha influido: | Ruby, Boo |
Python es un lenguaje de programación habitualmente comparado con TCL, Perl, Scheme, Java y Ruby. Actualmente, Python se desarrolla como un proyecto de código abierto, administrado por la Python Software Foundation. La última versión estable del lenguaje es actualmente (Septiembre de 2006) la 2.5 .Guido van Rossum, más conocido como Guido, creó Python, un lenguaje de programación de scripting, la "oposición leal" a Perl, lenguaje con el cual mantiene una rivalidad amistosa. Los usuarios de Python consideran a éste mucho más limpio y elegante para programar.
Python permite dividir el programa en módulos reutilizables desde otros programas Python. Viene con una gran colección de módulos estándar que se pueden utilizar como base de los programas (o como ejemplos para empezar a aprender Python). También hay módulos incluidos que proporcionan E/S de ficheros, llamadas al sistema, sockets y hasta interfaces a GUI (interfaz gráfica con el usuario) como Tk, GTK, Qt entre otros...
Python es un lenguaje interpretado, lo que ahorra un tiempo considerable en el desarrollo del programa, pues no es necesario compilar ni enlazar. El intérprete se puede utilizar de modo interactivo, lo que facilita experimentar con características del lenguaje, escribir programas desechables o probar funciones durante el desarrollo del programa. También es una calculadora muy útil.
El nombre del lenguaje proviene de la afición de su creador original, Guido van Rossum, por los geniales humoristas británicos Monty Python. El principal objetivo que persigue este lenguaje es la facilidad, tanto de lectura, como de diseño.
Tabla de contenidos |
[editar] Filosofía
Python es un lenguaje de programación multiparadigma. Esto significa que más que forzar a los programadores a adoptar un estilo particular de programación, permite varios estilos:Programación orientada a objetos, programación estructurada, programación funcional y programación orientada a aspectos. Otros muchos paradigmas más están soportados mediante el uso de extensiones. Python usa tipado dinámico de datos y reference counting para el manejo de memoria. Una característica importante del Python es la resolución dinámica de nombres, lo que enlaza un método y un nombre de variable durante la ejecución del programa.
Otro objetivo del diseño del lenguaje era la facilidad de extensión. Nuevos módulos pueden ser fácilmente escritos en C o C++. Python puede ser utilizado como un lenguaje de extensión para módulos y aplicaciones que necesitan de una interfaz programable. Aunque el diseño de Python es de alguna manera hostil a la programación funcional tradicional del Lisp, existen bastantes analogías entre Python y los lenguajes minimalistas de la familia del Lisp como puede ser el Scheme.
[editar] Ejemplos de código Python
El siguiente ejemplo saludará al usuario si se conoce su plato preferido, o le preguntará cuál es en caso contrario.
# -*- coding: iso8859-15 -*- import sys # diccionario de comidas preferidas de cada persona comidas = { "Juan" : "tiburón en escabeche", "Pablo" : "Paella don Beto", "Alfredo" : "sesos de mono", "Fulano" : "cucarachas fritas", "Sonia" : "burros", "Darinel" : "Hamburguesas Mr Paul", "Jose" : "Ceviche", "Cesar" : "Arroz con pollo", } afirmativas = set('si','s','mucho',"porfa'") def saluda(nombre, comida): print "Hola " + nombre + ", ¿te gusta " + comida + "?" respuesta = sys.stdin.readline() if respuesta not in afirmativas: pregunta(nombre) def pregunta(nombre): print "Hola " + nombre + ", ¿qué comida te gusta?" respuesta = sys.stdin.readline() comidas[nombre] = respuesta for nombre in ["Juan", "Pablo", "Alfredo", "Fulano", "Sonia", "Darinel", "Mengano","Cesar"]: if nombre in comidas and comidas[nombre] is not None: saluda(nombre, comidas[nombre]) else: pregunta(nombre)
El siguiente ejemplo busca y cuenta palabras palíndromas ( se leen igual al derecho y al revés ) en un archivo de texto que le indiquemos.
#importamos el módulo string util para el manejo de cadenas, usaremos la función split import string archivo = raw_input("Digite la ruta del archivo a leer: ") abrir_archivo = open(archivo, 'r') leer_archivo = abrir_archivo.read() texto = string.split(leer_archivo) contar = 0 for palabra in texto: invertir = "" for letra in palabra: invertir = letra + invertir if invertir == palabra and len(invertir) > 1: contar = contar + 1 print palabra if contar == 0: print "No hay palabras palíndromas en el archivo" else: print "Palabras palíndromas encontradas: ", contar abrir_archivo.close()
[editar] Enlaces externos
[editar] Referencias en castellano
- Wikilibros contiene el libro titulado «Inmersión en Python»
- Lista de correo sobre Python en castellano
- Un poco de programación en Python para principiantes
- Inmersión en Python (sitio temporal)
- Documentación en español de Python
- Tutorial de TLDP-ES sobre Python
- Documentación en PDF sobre Python
- Aprender a programar con Python
- Aprenda a pensar como un programador con Python
- Más enlaces sobre Python en castellano
[editar] Referencias en Inglés
- Web oficial de Python
- Python Software Foundation
- Free Python book downloads
- Python en Educación (Grupo de interés específico)
- Tutorial de programación para principiantes
- Wiki sobre la arquitectura interna de Python
[editar] Referencias en Portugués
[editar] Aplicaciones implementadas en Python
- El gestor de listas de correo Mailman
- El gestor de contenidos Zope y Plone
- El sistema de ficheros soportado sobre Gmail: GmailFS
- Google usa Python incluyendo backends de aplicaciones web tales como Gmail
- La agencia espacial NASA también hace uso de este lenguaje de programación (Según Python.org)
- La herramienta de arqueología del software carnarvon
- El archivo de vídeos Youtube usa Python en sus desarrollos.