viernes, 5 de agosto de 2016

PYTHON


         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:

·         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

Siempre existen más de dos formas de instalar Paquetes Python con setuptools y easy_install.

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
Versión Unicode de str
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 10 y otra 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:

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 (:).

NOTA: En Python  la sentencia Switch no existe

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