PYTHON
Cuando hablamos de Lenguajes de programación, nos referimos a un lenguaje formal diseñado para realizar procesos que pueden ser llevados a cabo por máquinas como las computadoras, existen variedad de Lenguajes de programación tales como: C, C++ C#, Pearl, Java, RUBY, VisualBasic, entre otros, en este caso, se estudia más a fondo sobre PYTHON, el cual se considera un lenguaje sencillo, y efectivo a la hora de usarlo, gracias a la cantidad de librerías y opciones que nos permite utilizar éste ultimo.
PYTHON
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.
En los últimos años el lenguaje se ha hecho muy popular, gracias a varias razones como:
En los últimos años el lenguaje se ha hecho muy popular, gracias a varias razones como:
· La cantidad de librerías que contiene, tipos de datos y funciones incorporadas en el propio lenguaje, que ayudan a realizar muchas tareas habituales sin necesidad de tener que programarlas desde cero.
· La sencillez y velocidad con la que se crean los programas. Un programa en Python puede tener de 3 a 5 líneas de código menos que su equivalente en Java o C.
· La cantidad de plataformas en las que podemos desarrollar, como Unix, Windows, OS/2, Mac, Amiga y otros.
· Además, Python es gratuito, incluso para propósitos empresariales.
ANTECEDENTE DEL LENGUAJE
El origen del lenguaje Python se remonta a principios de los noventa. Por este tiempo, un investigador holandés llamado Guido van Rossum, que trabajaba en el centro de investigación CWI (Centrum Wiskunde & Informatica) de Ámsterdam, es asignado a un proyecto que consistía en el desarrollo de un sistema operativo distribuido llamado Amoeba. Por aquel tiempo, el CWI utilizaba un lenguaje de programación llamado ABC. En lugar de emplear este lenguaje para el proyecto Amoeba, Guido decide crear uno nuevo que pueda superar las limitaciones y problemas con los que se había encontrado al trabajar en otros proyectos con ABC. Así pues, es esta la principal motivación que dio lugar al nacimiento de Python.
Muchos se preguntan el origen del nombre de Python. Gudo van Rossum decidió darle este nombre en honor a la serie de televisión Monty Python's Flying Circus, de la cual era fan. Esta es una serie cómica protagonizada por el grupo de humoristas Monty Python, famoso por películas como La vida de Brian o El sentido de la vida. Desde el principio de su diseño, se pretendía que Python fuera un lenguaje que resultara divertido de utilizar, de ahí que en el nombre influyera la mencionada serie cómica. También resulta curioso que, tanto en tutoriales, como en ejemplos de código, se suelen utilizar referencias a los Monty Python. Por ejemplo, en lugar de emplear los tradicionales nombres de variables foo y bar, se suele utilizar spam y egss, en referencia a sketchs de este grupo de cómicos.
CARACTEISTICAS REQUERIDAS PARA INSTALAR EL PROGRAMA
Instrucciones de Instalación
Instalación manual
Es recomendable instalar ciertas dependencias en su sistema operativo como las que se muestran a continuación:
# aptitude install build-essential python-dev
La instalación es muy sencilla, solo se necesita bajar de Internet el archivo ez_setup.py y ejecutarlo con el Python que se desea utilizar, con los siguientes comandos:
# wget http://peak.telecommunity.com/dist/ez_setup.py
# python ez_setup.py
Esto instalará un programa llamado easy_install junto a los demás ejecutables de Python.
Instalación en sistemas Debian
La instalación en sistemas Debian es recomendable instalar ciertas dependencias en su sistema operativo como las que se muestran a continuación:
# aptitude install build-essential python-dev python-setuptools
Esto instalará un programa llamado easy_install junto a los demás ejecutables de Python.
DESCRIPCION DEL LENGUAJE
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 conel 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.
ESTRUCTURA DEL LENGUAJE
Python, como en todos los scripts de ejecución posee una forma física de organizar lógicamente el código en un archivo. Dentro de estos, deberás definir de forma consistente una estructura sencilla de leer, que sea muy generalizada y ampliamente utilizada. La más extendida es la que se compone de los siguientes elementos:
- Linea de inicialización ( Para entornos Unix).
- Documentación del script.
- Módulos a importar.
- Declaración de variables.
- Declaración de clases.
- Declaración de funciones.
- Cuerpo “main”.
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
#/usr/bin/env python #Linea de inicialización
"Modulo de ejemplo" #Documentacion del script import sys import os #Modulos que se importan debug= True #Declaracion de variables Globales class Ejemplo(Object): "clase Ejemplo" #Declaracion de Clase def main(): "Main" #Declaracion de Funciones obj= Ejemplo() if __name__=='__main__': #Cuerpo Principal main() |
TIPOS DE DATOS Y DECLARACION
Los tipos de datos se pueden resumir en esta tabla:
Tipo
|
Clase
|
Notas
|
Ejemplo
|
Str |
Cadena
|
Inmutable
| 'Cadena' |
unicode |
Cadena
| u'Cadena' | |
List |
Secuencia
|
Mutable, puede contener objetos de diversos tipos
| [4.0, 'Cadena', True] |
Tuple |
Secuencia
|
Inmutable, puede contener objetos de diversos tipos
| (4.0, 'Cadena', True) |
Set |
Conjunto
|
Mutable, sin orden, no contiene duplicados
| set([4.0, 'Cadena', True]) |
frozenset |
Conjunto
|
Inmutable, sin orden, no contiene duplicados
| frozenset([4.0, 'Cadena', True]) |
Dict |
Mapping
|
Grupo de pares clave:valor
| {'key1': 1.0, 'key2': False} |
Int |
Número entero
|
Precisión fija, convertido en long en caso de overflow.
| 42 |
Long |
Número entero
|
Precisión arbitraria
| 42L ó 456966786151987643L |
Float |
Número decimal
|
Coma flotante de doble precisión
| 3.1415927 |
complex |
Número complejo
|
Parte real y parte imaginaria j.
| (4.5 + 3j) |
Bool |
Booleano
|
Valor booleano verdadero o falso
| True o False |
· Mutable: si su contenido (o dicho valor) puede cambiarse en tiempo de ejecución.
· Inmutable: si su contenido (o dicho valor) no puede cambiarse en tiempo de ejecución.
OPERADORES
Aritméticos
Los operadores aritméticos se utilizan para realizar operaciones matemáticas como: Sumar, Restar, Dividir, Multiplicar, etc...
La siguiente tabla muestra todos los operadores aritméticos soportados por Python. Supongamos que tenemos una variable a = 10 y otra b = 20, entonces:
La siguiente tabla muestra todos los operadores aritméticos soportados por Python. Supongamos que tenemos una variable a = 10 y otra b = 20, entonces:
Operador
|
Descripción
|
Ejemplo
|
+
|
Suma
|
a + b = 30
|
-
|
Resta
|
a – b = -10
|
*
|
Multiplicación
|
a * b = 200
|
/
|
División
|
b / a = 2
|
%
|
Módulo – Devuelve el resto de la división
|
b % a = 0
|
**
|
Exponente – Realiza exponencial
|
a ** b = 10 a la 20
|
//
|
División baja - Devuelve el entero de la división
|
9 // 2 = 4 y 9,0 // 2,0 = 4,0
|
Racionales
Los operadores de comparación, también llamados comparadores relacionales, se utilizan para comparar los valores. Se devuelve True o False según la condición.
Supongamos que la variable a = 10 y la variable b = 20:
Supongamos que la variable a = 10 y la variable b = 20:
Operador
|
Descripción
|
Ejemplo
|
==
|
Si los valores de los 2 operadores son iguales la condición es True
|
(a == b) no es True
|
!=
|
Si los valores de los 2 operadores no son iguales la condición es True
|
(a != b) es True
|
>
|
Si el valor del operador de la izquierda esmayor que el operador de la derecha la condición es True
|
(a > b) no es True
|
<
|
Si el valor del operador de la izquierda esmenor que el valor del operador de la derecha la condición es True
|
(a < b) es True
|
>=
|
Si el valor del operador de la izquierda esmayor o igual que el valor del operador de la derecha la condición es True
|
(a >= b) no es True
|
<=
|
Si el valor del operador de la izquierda es menor o igual que el valor del operador de la derecha la condición es True
|
(a <= b) es True
|
Lógicos
Los operadores lógicos son: and, or y not.
Operador
|
Descripción
|
Ejemplo
|
And
|
Es verdadero (True) si ambos operadores son verdaderos
|
(a and b) es True
|
Or
|
Es verdadero (True) si uno de los operadores es verdadero
|
(a or b) es True
|
Not
|
Es verdadero (True) si el operador es falso
|
not (a and b) es False
|
INICIALIZACION DE VARIABLES
En Python, la primera operación sobre una variable debe ser la asignación de un valor. No se puede usar una variable a la que no se ha asignado previamente un valor.
Como puedes ver, se genera una excepción NameError, es decir, de “error de nombre”.
El texto explicativo precisa aún más lo sucedido “el nombre a no está definido”.
La asignación de un valor inicial se denomina inicialización de la variable. Entonces en Python no es posible usar variables no inicializadas.
>>> a+2
Traceback (most recent call last):
File "<pyshell#0>", line 1, in -toplevel-
a+2
NameError: name 'a' is not defined
SENTENCIAS DE CONTROL CONDICIONALES
Sentencias condicionales: if
La estructura de control if permite que un programa ejecute unas instrucciones cuando se cumplan una condición. En inglés "if" significa "si" (condición). La orden en Pyhton se escribe así:
if condición: aquí van las órdenes que se ejecutan si la condición es cierta
y que pueden ocupar varias líneas
|
Sentencia: if - else
La estructura de control if . else permite que un programa ejecute unas instrucciones cuando se cumple una condición y otras instrucciones cuando no se cumple esa condición. En inglés "if" significa "si" (condición) y "else" significa "si no". La orden en Pyhton se escribe así:
if condición: aquí van las órdenes que se ejecutan si la condición es cierta
y que pueden ocupar varias líneas
else: y aquí van las órdenes que se ejecutan si la condición es
falsa y que también pueden ocupar varias líneas
|
La primera línea contiene la condición a evaluar. Esta línea debe terminar siempre por dos puntos (:).
SENTENCIAS DE CONTOL REPETITIVAS
Las estructuras repetitivas nos permiten ejecutar un bloque de instrucciones varias veces, dependiendo de una condición. La estructura while repite el bloque de instrucciones mientras la condición se verifique verdadera.
Si queremos mostrar los números del 1 al 100 con estructuras secuenciales el proceso es largo y engorroso, utilizando una estructura repetitiva el algoritmo es muy compacto:
print 'Números del 1 al 100:'
x=1
while x<=100:
print x
print '-'
x=x+1
print 'Fin'
Es importante recordar y remarcar que las instrucciones que se ejecutan en la estructura repetitiva while son todas las que se encuentran indentadas a derecha (cuatro espacios más a la derecha de la instrucción while) La variable x se inicializa previo a la estructura while con el valor 1. La primera vez que se ejecuta la condición del while se verifica verdadera, ya que 1 es menor o igual a 100.
Dentro de la estructura repetitiva mostramos el contenido de la variable x, luego imprimimos un guión y finalmente incrementamos la variable x con el valor actual más uno. La impresión de la cadena 'Fin' se ejecuta una vez finalizada la estructura repetitiva while.
DECLARACION DE FUNCIONES Y ARREGLOS
Funciones
Las funciones nos permitirán de cierta forma hacer más modulares nuestras aplicaciones, de tal manera que según la complejidad podamos hacer uso de la orientación a objetos. Pero bueno, veamos:
def numMenor(n1,n2):
if num1 < num2:
menor = num1
else:
menor = num2
return menor
num1 = int(input("Ingrese el primer numero >> "))
num2 = int(input("Ingrese el segundo numero >> "))
numero_menor = numMenor(num1,num2)
print ('El menor es', numero_menor )
|
Arreglos
Los arreglos e Python nos permiten añadir valores de múltiples tipos y de igual manera podemos acceder a esos valores como en otros lenguajes:
tabla = [4, "Bichos",1.5]
print (tabla[1])
|
Para finalizar, podemos resaltar que Python, es un lenguaje de programación muy completo, ya que es interactivo, lo cual le permite al programador realizar sus programas de una manera más eficaz sin tantas complicaciones, permite descubrir la cantidad de librerías y funciones que esta posee, y además que se presenta en Multiplataforma, es muy accesible, ya que es un software gratis, la cual no solamente desarrolla cualquier tipo de programa, sino que también puede incluso desarrollar páginas web.
No hay comentarios:
Publicar un comentario