Inicio > Inmersión en Python > Repaso en cinco minutos | << >> | ||||
diveintopython.org Python para programadores con experiencia |
He aquí un programa completo y operativo en Python.
Python, como la mayoría de los lenguajes, tiene funciones, pero no utiliza ficheros de cabecera independientes como C++ o secciones interface/implementation como Pascal. Cuando necesite una función, simplemente declárela e incluya el código.
Se puede documentar una función de Python añadiéndole una cadena de documentación.
Una función, como cualquier otra cosa en Python, es un objeto.
Las funciones de Python no incluyen explícitamente begin o end, ni llaves que marquen dónde comienza o dónde acaba la función. El único delimitador son los dos puntos (“:”) y el propio sangrado del código.
Los módulos en Python son objetos y tienen varios atributos útiles. Estos pueden utilizarse para probar los módulos mientras se escriben.
Uno de los tipos de datos incorporados en Python es el diccionario, que define una relación uno a uno entre claves y valores.
Las listas son el burro de carga en Python. Si si única experiencia con listas son los arrays de Visual Basic o (Dios lo prohiba) los datastore en Powerbuilder, prepárese para ver las listas de Python.
Una tupla es una lista inmutable. Una tupla no puede modificarse de ningún modo después de su creación.
Python tiene variables locales y globales como la mayoría de los lenguajes, pero no tiene declaraciones explícitas de variables. Las variables aparecen al asignarles un valor, y son automáticamente destruidas cuando salimos de su ámbito.
Uno de los mejores atajos de programación en Python es el uso de secuencias para asignar múltiples valores de una vez.
Python acepta el formato de valores como cadenas. Aunque esto puede incluir expresiones muy complicadas, el uso más básico es la inserción de valores eun una cadena con la plantilla %s.
Una de las más potentes características de Python es la creación de listas por comprensión, que proporciona una forma compacta de relacionar una lista con otra aplicando una función a los elementos de la primera.
Usted tiene una lista de pares clave-valor en la forma clave=valor, y quiere unirlos en una única cadena. Para unir cualquier lista de cadenas en una única cadena, utilice el método join de un objeto cadena.
El programa odbchelper.py y su salida deberían tener ahora sentido.
Capítulo 2. El poder de la introspección
Aquí hay un programa Python completo y funcional. Debería usted comprenderlo sólo observándolo. Las líneas numeradas ilustran conceptos cubiertos en Conozcamos Python. No se preocupe si el resto del código le parece inquietante; aprenderá todo sobre él en este capítulo.
Python permite que los argumentos de funciones tengan valores por omisión; si la función es llamada sin el argumento, éste toma su valor por omisión. Además, los argumentos pueden especificarse en cualquier orden si se les da nombre. Los procedimientos almacenados en SQL Server Transact/SQL pueden hacer esto; si es usted un gurú de los scripts en SQL Server, puede saltarse esta parte.
Python tiene un pequeño conjunto de funciones incorporadas enormemente útiles. Todas las demás funciones están repartidas en módulos. Esto es una decisión consciente de diseño, para que el núcleo del lenguaje no se hinche como en otros lenguajes de script (cof cof, Visual Basic).
Ya sabe usted que las funciones de Python son objetos. Lo que no sabe es que se puede obtener una referencia a una función sin necesidad de saber su nombre hasta el momento de la ejecución, utilizando la función getattr.
Como ya sabe, Python tiene una potente capacidad para convertir una lista en otra por medio de las relaciones de listas. Esto puede combinarse con un mecanismo de filtrado en el que algunos elementos de la lista se utilicen mientras otros se pasen por alto.
En Python, and y or realizan las operaciones de lógica booleana como cabe esperar, pero no devuelven valores booleanos; devuelven uno de los valores reales que están comparando.
Python admite una interesante sintaxis que permite definir funciones mínimas, de una línea, sobre la marcha. Tomada de Lisp, se trata de las denominadas funciones lambda, que pueden utilizarse en cualquier lugar donde se necesite una función.
La última línea de código, la única que no hemos desmenuzado todavía, es la que hace todo el trabajo. Pero el trabajo ya es fácil, porque todo lo que necesitamos ya está dispuesto de la manera en que lo necesitamos. Las fichas del dominó están en su sitio; lo que queda es golpear la primera.
El programa apihelper.py y su salida deberían entenderse ya perfectamente.
Lecturas complementarias | Trucos y consejos | |