Aprende a Programar en Python 2ª Edición –––––––– ÁNGEL ARIAS Copyright © 2015 Ángel Arias ISBN-13: 978-1514613030 NOTAS DEL AUTOR ––––––––
Esta publicación está destinada a proporcionar el material útil e informativo. Esta publicación no tiene la intención de conseguir que usted sea un maestro de las bases de datos, sino que consiga obtener un amplio conocimiento general de las bases de datos para que cuando tenga que tratar con estas, usted ya pueda conocer los conceptos y el funcionamiento de las mismas. No me hago responsable de los daños que puedan ocasionar el mal uso del código fuente y de la información que se muestra en este libro, siendo el único objetivo de este, la información y el estudio de las bases de datos en el ámbito informático. Antes de realizar ninguna prueba en un entorno real o de producción, realice las pertinentes pruebas en un entorno Beta o de prueba. El autor y editor niegan específicamente toda responsabilidad por cualquier responsabilidad, pérdida, o riesgo, personal o de otra manera, en que se incurre como consecuencia, directa o indirectamente, del uso o aplicación de cualesquiera contenidos de este libro. Todas y todos los nombres de productos mencionados en este libro son marcas comerciales de sus respectivos propietarios.
Ninguno de estos propietarios han patrocinado el presente libro. Procure leer siempre toda la documentación proporcionada por los fabricantes de software usar sus propios códigos fuente. El autor y el editor no se hacen responsables de las reclamaciones realizadas por los fabricantes. T abla de contenido
Todo a su tiempo
P ython es un lenguaje de programación de alto nivel, interpretado, imperativo, orientado a objetos, funcional, de tipeado dinámico y fuerte. Fue lanzada por Guido van Rossum en 1991. Actualmente tiene un modelo de desarrollo comunitario, abierto y gestionado por la organización sin fines lucrativos Python Software Foundation.
A pesar de que varias partes del lenguaje tienen estándares y especificaciones formales, el lenguaje como un todo no está formalmente especificado. El estándar de hecho es la implementación CPython. Una de sus principales características es permitir la fácil lectura del código y exigir pocas líneas de código si comparamos el mismo programa con otros lenguajes de programación. Debido a sus características, se utiliza principalmente utilizada para el procesamiento de textos, datos científicos y creación de CGIs para páginas dinámicas de la web. El lenguaje fue proyectado con la filosofía de enfatizar la importancia del esfuerzo del programador sobre el esfuerzo computacional. Prioriza la legibilidad del código sobre la velocidad o expresividad.
Combina una sintaxis concisa y clara con los recursos poderosos de su biblioteca estándar y por módulos y frameworks desarrollados por terceros. El lenguaje tiene tipeado dinámico, no es posible definir un tipo para variables o funciones, estos tipos son definidos y modificados dinámicamente durante la interpretación del código. La mayoría de las implementaciones son interpretadas y los errores de sintaxis sólo se descubren antes de la ejecución real. A pesar de esto, por no permitir la realización de operaciones con tipos diferentes, que podrían tener interpretaciones diferentes, Python es un lenguaje fuertemente tipeado. La característica más destacada es la posibilidad de utilización de pocas líneas de código para hacer algo que en otros lenguajes exigiría muy más líneas y sería más trabajoso. La indentación es utilizada como definición de bloques y las líneas no necesitan de un delimitador, dejando el lenguaje más "humano".
Python es, probablemente, el primer lenguaje que intenta alcanzar, a la vez, a principiantes en programación, profesionales y científicos de la computación. Para principiantes, el lenguaje ofrece la simplicidad, interactividad y varias bibliotecas inclusas. Permitiendo que sea posible crear algo interesante y utilizable con gran facilidad. A los profesionales, Python les permite la creación de algoritmos complejos de forma simple y legible, permitiendo el fácil mantenimiento del código. Para los científicos de la computación, la posibilidad de utilizar múltiples paradigmas, tener muchas bibliotecas y ser legible, hacen de Python una buena opción. Es posible crear funciones anidadas, o sea, es posible crear una función dentro del alcance de una función más externa.
En este caso, la función interna pertenecerá sólo al alcance creado por la función externa, las otras funciones en el mismo nivel de la externa no tendrán acceso a esta función. Las funciones son objetos de primera clase, tienen atributos y pueden ser atribuidas a una variable, así como cualquier otro objeto. Estas también son funciones de alto nivel, lo que significa que estas pueden recibir otras funciones como argumento y hasta pueden retornar funciones. Es posible crear funciones anónimas a través de la palabra clave "lambda", que viene de los lenguajes funcionales. Este tipo de función es muy utilizada cuando es más conveniente sólo definir la función que crear una definición completa. Un ejemplo de eso sucede al llamar a una función con el paso de parámetros para callback, una definición completa de la función es considerado como una declaración, y como tal, no puede ser pasada como parámetro.
Por otro lado, una función anónima definida a través de lambda, es sólo una expresión y puede ser definida en la misma línea de la llamada. En Python, todo es un objeto, y esto incluye a la clase y a su instancia. Los datos son representados como objetos o relaciones entre objetos. Todos los objetos tiene un tipo y un valor. Estos objetos no son explícitamente destruidos, cuando no existen más referencias a este, el objeto es destruido por el garbage collector. La palabra reservada "class" es sólo un constructor, los objetos definidos por esta, llamados de clase, tienen un tipo genérico llamado "type".
Esta definición hace posible acceder una clase, sin instanciarla, como se accede a cualquier otro objeto, pudiendo así añadir atributos o definir valores. Como Python interpreta funciones en una clase como atributos, es posible añadir nuevas funciones a la clase o hasta sobrescribir funciones ya existentes. Las nuevas instancias de esta clase tendrán el nuevo atributo añadido al objeto. Existe también el tipo function, creado a través de la palabra reservada def que es el utilizado en las funciones. El lenguaje no tiene modificadores de acceso, o sea, es posible acceder, sobrescribir e incluso crear nuevos atributos en cualquier clase, incluso las clases internas del lenguaje. Esta regla surgió de una de las máximas de la filosofía del Python: "Simple is better than complex".
Las ventajas de este enfoque están en que el programador nunca podrá prever los futuros usos de la clase mientras esta esté implementada, en un futuro, algún código puede necesitar acceder a algún atributo o método privado, o incluso sobrescribirlo. Esto puede haber sido una de las características que hizo de Python uno de los lenguajes más adoptados para el software libre en repositorios públicos. Por convención, se adoptó que un atributo protegido, deberá estar precedido de un underscore, definiendo que este deberá, preferentemente, ser accedido sólo en la clase o en subclases. Los atributos privados deben tener dos underscores como prefijo. Una de las principales utilizaciones de Python es en el tratamiento de textos, la mayoría de las funciones e incluso la sintaxis del lenguaje parece favorecer esta utilización. Las formas de trabajar con listas son extremadamente simples, es posible, por ejemplo, obtener la orden inversa de la lista decrementando el índice de la lista en valores negativos.
Página siguiente