Ir al contenido principal

¿Python?

Como ya habia mencionado soy estudiante ("almenos actualmente a la fecha de escritura de esta entrada") de Ing. en Sistemas Computacionales, asi que no sorprenda que la mayor parte del contenido aqui sea de tecnologia, programacion o relevantes (tratare de no descuidar los demas aspectos pues quiero hacer este blog algo parejo en cuanto a ser de conocimiento general) en fin, hoy les traigo algo sobre uno de los lenguajes de programacion que se esta volviendo uno de los lenguajes mas potentes actualmente, y en lo particular se esta convirtiendo en uno de mis favoritos. ("Antes de seguir, si encuentras contenido similar en otro blog es que es mio je, el otro es mi cuenta para cosas de la escuela aclarando eso...") y estoy hablando de:

Python es un lenguaje de programación interpretado cuya filosofía hace hincapié en una sintaxis que favorezca un código legible.
Se trata de un lenguaje de programación multiparadigma, ya que soporta orientación a objetos, programación imperativa y, en menor medida, programación funcional. Es un lenguaje interpretado, usa tipado dinámico y es multiplataforma.
Python es un lenguaje de scripting independiente de plataforma y orientado a objetos, preparado para realizar cualquier tipo de programa, desde aplicaciones Windows a servidores de red o incluso, páginas web. Es un lenguaje interpretado, lo que significa que no se necesita compilar el código fuente para poder ejecutarlo, lo que ofrece ventajas como la rapidez de desarrollo e inconvenientes como una menor velocidad.
El creador del lenguaje es un europeo llamado Guido Van Rossum. Hace ya más de una década que diseño Python, ayudado y motivado por su experiencia en la creación de otro lenguaje llamado ABC. El objetivo de Guido era cubrir la necesidad de un lenguaje orientado a objetos de sencillo uso que sirviese para tratar diversas tareas dentro de la programación que habitualmente se hacía en Unix usando C. 


Propósito general: Se pueden crear todo tipo de programas. No es un lenguaje creado específicamente para la web, aunque entre sus posibilidades sí se encuentra el desarrollo de páginas. 
Multiplataforma: Hay versiones disponibles de Python en muchos sistemas informáticos distintos. Originalmente se desarrolló para Unix, aunque cualquier sistema es compatible con el lenguaje siempre y cuando exista un intérprete programado para él. 
Interpretado: Quiere decir que no se debe compilar el código antes de su ejecución. En realidad sí que se realiza una compilación, pero esta se realiza de manera transparente para el programador. En ciertos casos, cuando se ejecuta por primera vez un código, se producen unos bytecodes que se guardan en el sistema y que sirven para acelerar la compilación implícita que realiza el intérprete cada vez que se ejecuta el mismo código. 
Interactivo: Python dispone de un intérprete por línea de comandos en el que se pueden introducir sentencias. Cada sentencia se ejecuta y produce un resultado visible, que puede ayudarnos a entender mejor el lenguaje y probar los resultados de la ejecución de porciones de código rápidamente. 
Orientado a Objetos: La programación orientada a objetos está soportada en Python y ofrece en muchos casos una manera sencilla de crear programas con componentes reutilizables. 
Funciones y librerías: Dispone de muchas funciones incorporadas en el propio lenguaje, para el tratamiento de strings, números, archivos, etc. Además, existen muchas librerías que podemos importar en los programas para tratar temas específicos como la programación de ventanas o sistemas en red o cosas tan interesantes como crear archivos comprimidos en .zip. 
Sintaxis clara: Por último, destacar que Python tiene una sintaxis muy visual, gracias a una notación identada (con márgenes) de obligado cumplimiento. En muchos lenguajes, para separar porciones de código, se utilizan elementos como las llaves o las palabras clave begin y end. Para separar las porciones de código en Python se debe tabular hacia dentro, colocando un margen al código que iría dentro de una función o un bucle. Esto ayuda a que todos los programadores adopten unas mismas notaciones y que los programas de cualquier persona tengan un aspecto muy similar.



Python es un lenguaje de programación que es interpretado, esto significa que el código no necesita ser preprocesado mediante un compilador, eso significa que el ordenador es capaz de ejecutar la sucesión de instrucciones dadas por el programador sin necesidad de leer y traducir exhaustivamente todo el código.
Para que esto sea posible hace falta un intermediario, un programa encargado de traducir cada instruccion escrita con una semantica 'humana' a Código máquina (instrucciones de la CPU del ordenador), este programa recibe el nombre de interprete (en ingles parser).
El interprete se encarga de leer una a una las instrucciones textuales del programa conforme estas necesitan ser ejecutadas y descomponerlas en instrucciones del sistema, además se encarga de automatizar algunas de las tareas típicas de un programador como declaraciones de variables o dependencias, de esta manera el proceso de programar se suele agilizar mucho lo cual repercute en la eficiencia del que tiene que escribir el código.
Python cuenta con su propio interprete el cual puede ser invocado al abrir la línea de comandos y mandarlo llamar.

Python cuenta con su propio interprete el cual puede ser invocado desde la consola de comandos de windows al hacerlo llamar mediante su variable de entorno:


Al usar el intérprete de Python nos podemos dar cuenta que cumple con la definición de interprete, pues no es necesario compilar el programa, pues a medida que introducimos las lineas de codigo podemos ver los resultados a las entradas que insertamos, claro segun sea la instruccion dada mediante lineas de codigo.

Veamos unos ejemplos:


Como podemos ver a medida que nosotros introducimos lineas de codigo el mismo interprete tiene la habilidad de transformar estas instrucciones en lenguaje maquina y si es dado ejecutar la instruccion mostrando su salida o respuesta como tal, sin necesidad de redactar todo el codigo primero para despues compilar y ejecutar.


Ahora supongamos que ya entendemos el lenguaje, ya nos familiarizamos con el interprete, sin embargo por regular tenemos la necesidad de escribir codigo y guardar este en formato de archivos para transportar nuestros programas a otras maquinas de trabajo y/o editar en otros lugares. Es por ello que por lo regular en el mundo de programacion utilizamos los famosos IDEs, o editores de desarrollo integrado, que basicamente fungen como un editor de texto normal y corriente pero por lo regular incluyen muchas mas herramientas que facilitan las tareas de programador.

Python cuenta con muchos tipos de IDEs, ya inclusive te puedo decir que hasta el mismisimo blog de notas de windows puede ser uno, otros usan notepadd++, nosotros estaremos trabajando con el editor Pycharm.

¿Pero que es Pycharm?

PyCharm es uno de los entornos de desarrollo más completos para Python. Es parte del suite de herramientas de programación ofrecidas por JetBrains, que cuenta con entornos para construir código en distintos idiomas como PHP y Ruby.

Tiene una interfaz un tanto similar a android studio pero mucho, mucho mas simple, ademas de poder personalizar el tema del editor, contiene su propia seccion de consola y ofrece un entorno comodo de programación.

Aqui podemos ver el programa con un codigo simple ejecutando la prueba por su consola integrada:




Ahora, cuando nos encontramos a la hora de programar es muy comun requerir ciertas operaciones que tal vez no son complejas pero si largas de escribir para nuestros programas, o que posiblemente nosotros y/o otras personas ya han escrito con anterioridad y es hasta cierto punto inconveniente reescribirlas por nuestra cuenta desde cero.

Es aqui donde entran los modulos, los modulos son como las librerias de C o Java, son archivos ya sea creados por nosotros mismos o generados por alguien mas que contienen funciones y/o codigos de programa que proporcionan soluciones a tareas que nosotros tenemos que implementar y/o usar en nuestros programas. Por ejemplo la libreria Math que casi siempre existe en todo lenguaje, esta al ser importada nos permite acceder a funciones para obtener las raices cuadradas, obtener cosenos, potencias de numeros, entre otros.

Python no es un lenguaje que se queda atras, python llama a esto modulos, todo programa o archivo con codigo de python que nosotros generemos puede ser considerado como modulo.

Segun la web de pythonista.io:

"No son otra cosa más que un archivos con código de Python. Por lo que mantener una biblioteca de módulos propios no es otra cosa más que conservar nuestros programas en un sitio accesible para Python. Al realizar la importación, el código se ejecuta y los objetos que se crearon y ligaron a un nombre en la ejecución, se añanden al espacio de nombres del módulo."

La forma básica de usar un módulo es agregar import nombre_modulo en la parte superior de su código y luego usar nombre_modulo.funcion para acceder a funciones y valores con el nombre de la funcion especificada en el módulo.

Por ejemplo, el siguiente ejemplo usa el módulo random para generar números aleatorios:



    
Hay tres tipos principales de módulos en Python, los que uno mismo escribe, los que instala desde fuentes externas y los que están preinstalados con Python.
El último tipo se llama biblioteca estándar y contiene muchos módulos útiles. Algunos de los módulos útiles de la biblioteca estándar incluyen cadena, re, datetime, matemática, random, os, multiprocesamiento, subproceso, socket, correo electrónico, json, doctest, unittest, pdb, argparse y sys.

Por lo general es necesario utilizar modulos de terceros para aplicarlos a nuestros programas y aplicaciones, de los cuales existe una extensa variedad, por mencionar solo algunos tenemos por ejemplo a :

wxpython: wxPython es una suite de librerías de interfaces gráficas para Python (programadas en C++), destinadas a crear GUIs de forma simple. Funciona como un módulo más de Python, debiendo ser importado al igual que cualquier otro.

Cómo principales características de wxPython pueden citarse:
  • Portabilidad: Windows, Linux y Mac OS X
  • Apariencia: Nativa en todos los S.O.
  • Licencia: LGPL
pyGtk: La biblioteca GTK se usa para desarrollar el entorno gráfico GNOME, así como sus aplicaciones, a la vez que algunos otros entornos gráficos. La biblioteca GTK permite el desarrollo sencillo de interfaces gráficas y su uso conjunto con Python permite el desarrollo rápido de aplicaciones gráficas potentes.

pygame: pygame es un módulo del lenguaje de programación Python que permiten la creación de videojuegos en dos dimensiones de una manera sencilla. Mediante PyGame podemos utilizar sprites (objetos, un tipo de mapa de bits dibujados en la pantalla de ordenador), cargar y mostrar imágenes en diferentes formatos, sonidos, etc. Además, al ser un módulo destinado a la programación de videojuegos se puede monitorizar el teclado o joystick de una manera bastante sencilla.



Esta imagen es una ventana grafica que genere reescribiendo el codigo de la pagina que les deje en el enlace de pygame, lo genere solo para ver si funcionaba.


Aqui esta otra imagen de muestra pero ahora con un tetris ("Este solo tome la captura de otra web igual enlistada en las fuentes").




Matplotlib: Matplotlib es una librería de Python que permite realizar gráficas 2D de excelente calidad. Es multiplataforma y puede ser usada desde scripts o desde la consola de Python. Matplotlib fue creado tomando como base a Matlab por lo que para las personas que han gráficado alguna vez en su vida con Matlab, Matplotlib les va a resultar muy familiar. Podemos exportar nuestras gráficas en los formatos de imágenes mas populares e incluso a formato latex para su inclusión en artículos científicos.

MySQLdb: MySQLdb es una interfaz para conectarse a un servidor de base de datos MySQL desde Python. Implementa la API Python Database v2.0 y está construida sobre la API C de MySQL.

sqlite3: permite crear bases de datos y operar con tablas y registros.

pyodbc: es un módulo compatible con Python 2 y 3 que permite utilizar ODBC para conectar a la gran mayoría de bases de datos desde Windows, Linux, OS/X y más. Licenciado bajo la MIT License, es gratuito tanto para uso personal como comercial.

En fin si quieres conocer mas modulos de python te dejo esta web, posee los 50 modulos basicos para python:

      web: catswhocode
          

">

       



Ahora podemos descargar estos modulos desde internet pero para poder utilizarlos es necesario instalarlos en nuestro ordenador.

Muchos módulos de Python de terceros se almacenan en el Python Package Index (PyPI).
La mejor forma de instalarlos es usar un programa llamado pip. Esto viene instalado por defecto con distribuciones modernas de Python. Si no lo tiene, es fácil de instalar en línea. Una vez que lo tenga, la instalación de bibliotecas desde PyPI es fácil. Busque el nombre de la biblioteca que desea instalar, vaya a la línea de comando (para Windows será el Símbolo del sistema) e ingrese pip install library_name. Una vez que haya hecho esto, importe la biblioteca y úselo en su código.

Usar pip es la forma estándar de instalar bibliotecas en la mayoría de los sistemas operativos, pero algunas bibliotecas tienen binarios precompilados para Windows. Estos son archivos ejecutables normales que le permiten instalar bibliotecas con una GUI de la misma manera que instalaría otros programas.

Es decir pip es un sistema de gestión de paquetes utilizado para instalar y administrar paquetes de software escritos en Python. 


El programa pip viene instalado por defecto en Python 2.7.9 y versiones más nuevas. Sin embargo saber como instalarlo es muy útil para cualquiera que utilice versiones antiguas de Python (lo que todavía es común).

Para poder instalar PIP en nuestro ordenador con S.O. windows lo primero que debemos hacer es entramos en la dirección: https://bootstrap.pypa.io/get-pip.py , guardamos la pagina como el archivo get-pip.py y luego abrimos la consola de windows (CMD) y nos posicionamos en el directorio donde guardamos el archivo .py, por último ejecutamos python get-pip.py


Una vez hecho esto podemos agregar una variable de entorno a la carpeta C:\Python2x\Scripts (te recomiendo checar mi post sobre instalacion de python donde hablo sobre como agregar variables de entorno) y con ello ya podemos usar nuestra consola para agregar paquetes. El comando basico para ello es.

pip install modulo_a_instalar

De esta manera nuestra pc se conectara a la red para descargar desde los servidores de python los archivos necesarios para poder usar el modulo deseado. En esta captura de ejemplo descargamos el modulo django como metodo explicativo.









Comentarios