Python en Resumen

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 8

PYTHON EN RESUMEN

“Python es un lenguaje de programación de alto nivel cuya filosofía 
hace hincapié en una sintaxis muy limpia y 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, es fuertemente tipado y es multiplataforma.”1
Python presenta una serie de ventajas que lo hacen muy atractivo, 
tanto   para   su   uso   profesional   como   para   el   aprendizaje   de   la 
programación. Entre las más interesantes tenemos: 
● Python es un lenguaje muy expresivo: Los programas Python son 
muy compactos; un programa Python suele ser bastante más corto 
que su equivalente en lenguajes como C. 
● Python es muy legible: La sintaxis de Python es muy elegante y 
permite   la   escritura   de   programas   cuya   lectura   resulta   muy 
fácil.
● Python   ofrece   un   entorno   interactivo   que   facilita   la 
realización de pruebas.
● El   entorno   de   ejecución   de   Python   detecta   muchos   de   los 
errores   de   programación   que   escapan   al   control   de   los 
compiladores   y   proporciona   información   muy   rica   para 
detectarlos y corregirlos. 
● Python puede usarse como lenguaje imperativo procedimental o 
como lenguaje orientado a objetos. 
● Posee   un   rico   juego   de   estructuras   de   datos   que   se   pueden 
manipular de modo sencillo. 
Python ha sido diseñado por Guido van Rossum y esté en un proceso 
de continuo desarrollo por una gran comunidad de desarrolladores. 
Aproximadamente cada seis meses se hace pública una nueva versión. 
Pero no es que cada medio año se cambie radicalmente el lenguaje de 
programación, sino que éste se enriquece manteniendo en lo posible 
la compatibilidad con versiones anteriores. 
Una ventaja fundamental de Python es la gratuidad de su intérprete. 
Puedes descargarse el intérprete de la página web2. El intérprete 
de Python tiene versiones para prácticamente cualquier plataforma 
en uso: sistemas PC bajo Linux, sistemas PC bajo Microsoft Windows, 
sistemas Macintosh de Apple, etc.

EJECUCIÓN DE PROGRAMAS PYTHON.
Existen dos formas de ejecutar código Python. Podemos escribir líneas de 
código en el intérprete y obtener una respuesta del intérprete para cada 
línea   (sesión   interactiva)   o   bien   podemos   escribir   el   código   de   un 
programa en un archivo de texto y ejecutarlo. 
Así por ejemplo podemos digitar en la consola:
print "Hola Mundo"

1 http://es.wikipedia.org/wiki/Python
2 http://www.python.org
Y la respuesta instantanea sera la impresión del texto "Hola Mundo" en la 
consola, pero podemos esribir lo mismo en un editor de texto y guadarlo 
con la extensión *.py y ejecutarlo obteniendo identicos resultados.
Para   facilitar   la   digitación   de   programas   se   pueden   utilizar 
herramientas, es así que asoma el concepto de IDE (Entorno de Desarrollo 
Integrado). 
TIPOS DE DATOS BÁSICOS EN PYTHON.
En Python los tipos básicos se dividen en: 
Números, como pueden ser 3 (entero), 15.57 (de coma flotante) o 7 + 5j 
(complejos). Cadenas de texto, como “Hola Mundo”. Valores booleanos: True 
(cierto) y False (falso). 
NÚMEROS 
Enteros 
Los   números   enteros   son   aquellos   números   positivos   o   negativos   que   no 
tienen decimales. En Python se pueden  representar  mediante el  tipo int 
(de integer, entero) o el tipo long (largo). 
La   única   diferencia   es   que   el   tipo   long   permite   almacenar   números   más 
grandes.   Es   aconsejable   no   utilizar   el   tipo   long   a   menos   que   sea 
necesario, para no malgastar memoria. Al asignar un número a una variable 
esta pasará a tener tipo int, a  menos que el número sea tan grande como 
para requerir el uso del tipo long. 
Reales 
Los números reales son los que tienen decimales. En Python se expresan 
mediante   el  tipo   float.     Python   implementa   su   tipo   float   a   bajo   nivel 
mediante una variable de tipo double de C, es decir, utilizando 64 bits, 
luego en Python siempre se utiliza doble precisión.
También   se   puede   utilizar   notación   científica,   y   añadir   una   e   para 
indicar un exponente en base 10. Por ejemplo: 
    real = 0.1e­3 
Complejos 
Los números complejos son aquellos que tienen parte imaginaria. La mayor 
parte de lenguajes de programación carecen de este tipo, aunque sea muy 
utilizado   por   ingenieros   y   científicos   en   general,   llamado   complex   en 
Python . Los números complejos en Python se representan de la siguiente 
forma: 
    complejo = 2.1 + 7.8j 
CADENAS
Las   cadenas   no   son   más   que   texto   encerrado   entre   comillas   simples 
(‘cadena’) o dobles (“cadena”). Dentro de las comillas se pueden añadir 
caracteres especiales escapándolos con \, como \n, el carácter de nueva 
línea, o \t, el de tabulación. 
Una cadena puede estar precedida por el carácter u o el carácter r, los 
cuales indican, respectivamente, que se trata de una cadena que utiliza 
codificación Unicode y una cadena raw. Las cadenas raw se distinguen de 
las normales en que los caracteres escapados  mediante la barra invertida 
(\) no se sustituyen por sus contrapartidas.
      unicode = u”äóè” 
      raw = r”\n” 
También es posible encerrar una   cadena  entre   triples  comillas.   De esta 
forma   podremos   escribir   el   texto   en   varias   líneas,   y   al   imprimir   la 
cadena, se respetarán los saltos de línea que introdujimos sin tener que 
recurrir al carácter \n.
      triple = “““primera linea 
                    esto se vera en otra linea””” 
BOOLEANOS 
Una variable de tipo booleano sólo puede tener dos valores: True (cierto) 
y   False   (falso).   Estos   valores   son   especialmente   importantes   para   las 
expresiones condicionales y los bucles. En realidad el tipo bool es una 
subclase del  tipo int. 
OPERADORES 
Operadores Aritméticos 
Veamos ahora qué podemos hacer con nuestros números usando los operadores 
por   defecto.   Para   operaciones   más   complejas   podemos   recurrir   al   módulo 
math3. En la Tabla 001 se muestran las operaciones aritméticas básicas de 
Python.
Operación Operador
Suma  +
Resta ­
Negación ­
Multiplicación *
División /
Exponente **
División Entera //
Módulo de la  %
División
Tabla 001: Operadores Aritmeticos de Python
Operadores Lógicos
En la Tabla 002 se muestran los distintos tipos de operadores con los que 
podemos trabajar con valores booleanos, los llamados operadores lógicos o 
condicionales: 
Operación Operador
Conjunción  (y)  and
Disyunción  (o) or
Negación    (no) not
Tabla 002: Operadores Logicos de Python
Operadores Relacionales
Podemos   obtener   valores   booleanos   como   resultado   de   expresiones   que 
utilizan operadores relacionales  (comparaciones  entre  valores)  la  Tabla 
003 muestra los Operadores Relacionales que Python maneja: 
Operación Operador
Igual ==
Distinto !=

3 Módulo pre programado para operaciones aritméticas
Menor que <
Mayor que >
Menor o Igual <=
Mayor o Igual >=
Tabla 003: Operadores Relacionales de Python
COLECCIONES
Listas 
La lista es un tipo de colección ordenada. Sería equivalente a lo que en 
otros   lenguajes   se   conoce   por   arrays,   o   vectores.   Las   listas   pueden 
contener   cualquier   tipo   de   dato:   números,   cadenas,   booleanos,   ...   y 
también listas. 
Crear una lista es tan sencillo como indicar entre corchetes, y separados 
por comas, los valores que queremos incluir en la lista: 
l = [22, True, “una lista”, [1, 2]] 
Podemos acceder a cada uno de los elementos de la lista escribiendo el 
nombre de la lista e indicando el índice del elemento entre corchetes. 
Tuplas 
Para definir una tupla se utilizan  paréntesis. 
      t = (1, 2, True, “python”) 
En realidad el constructor de la tupla es la coma, no el paréntesis, pero 
el intérprete muestra los paréntesis, y nosotros deberíamos utilizarlos, 
por claridad. 
Para referirnos a elementos de una tupla, como en una lista, se usa el 
operador []. Podemos utilizar este operador debido a que las tuplas, al 
igual   que   las   listas,   forman   parte   de   un   tipo   de   objetos   llamados 
secuencias. 
Su   diferencia   con   las   listas   estriba   en   que   las   tuplas   no   poseen 
mecanismos de modificación. Además son inmutables, es decir, sus valores 
no se pueden modificar una vez creada; y tienen un tamaño fijo. A cambio 
de estas limitaciones las tuplas son más “ligeras” que las listas.
Diccionarios 
Los diccionarios, también llamados matrices asociativas, deben su nombre 
a que son colecciones que relacionan una clave y un valor. Por ejemplo, 
veamos un diccionario de películas y directores: 
     d = {“Love Actually “: “Richard Curtis”, “Kill Bill”: “Tarantino”}
El primer valor se trata de la clave y el segundo del valor asociado a la 
clave. Como clave podemos utilizar cualquier valor inmutable: podríamos 
usar   números,   cadenas,   booleanos,   tuplas,   ...   pero   no   listas   o 
diccionarios, dado que son mutables. Esto es así porque los diccionarios 
se implementan como tablas hash, y a la hora de introducir un nuevo par 
clave­valor en el diccionario se calcula el hash de la clave para después 
poder encontrar la entrada correspondiente rápidamente. 
Al igual que en listas y tuplas también se puede utilizar este operador 
para reasignar valores. 
    d[“Kill Bill”] = “Quentin Tarantino” 
SENTENCIAS CONDICIONALES 
Si un programa no fuera más que una lista de órdenes a ejecutar de forma 
secuencial, una por una, no tendría mucha utilidad. 
if 
La forma más simple de un estamento condicional es un if seguido de la 
condición a evaluar, dos puntos (:) y en la siguiente línea indentado, el 
código a ejecutar en caso de que se cumpla dicha condición. 
      if fav == “mundogeek.net”: 
           print “Tienes buen gusto!” 
Debemos   asegurarnos   de   identar   el   código   tal   cual   se   ha   hecho   en   el 
ejemplo,   es   decir,   aseguraros   de   pulsar   Tabulación   antes   de   las   dos 
órdenes print, dado que esta es la forma de Python de saber que nuestra 
intención es la de que el print se ejecuten sólo en el caso de que se 
cumpla la condición. La indentación en Python se trata de una obligación, 
y no de una elección. 
if ... else 
¿Qué haríamos si quisiéramos que se ejecutaran unas ciertas órdenes en 
el caso de que la condición no se cumpliera?. Podríamos añadir otro if 
que tuviera como condición la negación del primero; pero el condicional 
tiene una segunda construcción mucho más útil: 
    if fav ==  “mundogeek.net”: 
        print  “Tienes buen gusto!” 
    else: 
        print  “Vaya, que lástima” 
if ... elif ... elif ... else 
La instrucción elif es una condicional el cual nos permite verificar una 
segunda   opción   en   el   caso   de   que   el   flujo   se   corresponda   al   caso 
contrario de una condición inicial.
A if C else B 
Es  una forma  compacta  de expresar   un   if   else.   En   esta   construcción   se 
evalúa el predicado C y se devuelve A si se cumple o B si no se cumple: A 
if C else B. Veamos un ejemplo: 
    var = “par” if (num % 2 == 0) else “impar” 
BUCLES 
Mientras que los condicionales nos permiten ejecutar distintos fragmentos 
de   código   dependiendo   de   ciertas   condiciones,   los   bucles   nos   permiten 
ejecutar un mismo fragmento de código un cierto número de veces.
while 
El   bucle   while   (mientras)   ejecuta   un   fragmento   de   código   mientras   se 
cumpla una condición. 
    edad = 0 
    while edad < 18: 
        edad = edad + 1 
        print “Felicidades, tienes “ + str(edad) 
for ... in 
En   Python   for   se   utiliza   como   una   forma   genérica   de   iterar   sobre   una 
secuencia. Y como tal intenta facilitar su uso para este fin. Este es el 
aspecto de un bucle for en Python: 
    secuencia = [“uno”, “dos”, “tres”] 
    for elemento in secuencia: 
         print elemento 
Leamos   la   cabecera   del   bucle   como   si   de   lenguaje   natural   se   tratara: 
“para cada elemento en secuencia”. Y esto es exactamente lo que hace el 
bucle.
FUNCIONES 
Una función es un fragmento de código con un nombre asociado que realiza 
una serie de tareas y devuelve un valor. Además de ayudarnos a programar 
y depurar dividiendo el programa en partes las funciones también permiten 
reutilizar código. En Python las  funciones se  declaran de  la siguiente 
forma: 
    def mi_funcion(param1, param2): 
Es decir, la palabra clave def seguida del nombre de la función y entre 
paréntesis   los  argumentos  separados   por   comas.   A   continuación,   en   otra 
línea,   indentado   y   después   de   los   dos   puntos   tendríamos   las   líneas   de 
código que conforman el código a ejecutar por la función. 
También podemos encontrarnos con una cadena de texto como primera línea 
del   cuerpo   de   la   función.   Estas   cadenas   se   conocen   con   el   nombre   de 
docstring4 y sirven a modo de documentación de la función. 
    def mi_funcion(param1, param2): 
         “““Esta funcion imprime los dos valores pasados 
         como parametros””” 
También   es   posible   definir   funciones   con   un   número   variable   de 
argumentos, o bien asignar valores por defecto a los parámetros para el 
caso de que no se indique ningún valor para ese parámetro al llamar a la 
función. Los valores por defecto para los parámetros se definen situando 
un signo igual después del nombre del parámetro y a continuación el valor 
por defecto: 
    def imprimir(texto, veces = 1): 
Para definir funciones con un número variable de argumentos colocamos un 
último   parámetro   para   la   función   cuyo   nombre   debe   precederse   de   un 
signo*: 
    def varios(param1, param2, *otros): 
Esta   sintaxis   funciona   creando   una   tupla   en   la   que   se   almacenan   los 
valores de todos los parámetros extra pasados como argumento. También se 
puede  preceder  el  nombre  del  último   parámetro   con   **,   en   cuyo   caso   en 
lugar de una tupla se utilizaría un diccionario. 
Para devolver valores, se utiliza la palabra clave return: 
    def sumar(x, y): 
         return x + y 
También podríamos pasar varios valores que retornar a return. 
   def f(x, y): 
         return x * 2, y * 2 
   a, b = f(1, 2) 
Sin embargo esto no quiere decir que las funciones Python puedan devolver 
varios valores, lo que ocurre en realidad es que Python crea una tupla, 
cuyos elementos son los valores a retornar, y esta única variable es la 

4 Cadena de documentación
que se devuelve. 
ORIENTACIÓN A OBJETOS 
La Programación Orientada a Objetos es un paradigma de programación en el 
que   los   conceptos   del   mundo   real   relevantes   para   nuestro   problema   se 
modelan a través de clases y objetos.
Clases y objetos 
En Python las clases se definen mediante la palabra clave class seguida 
del nombre de la clase, dos puntos (:) y a continuación, indentado, el 
cuerpo de la clase. Como en el caso de las funciones, si la primera línea 
del   cuerpo   se   trata   de   una   cadena   de   texto,   esta   será   la   cadena   de 
documentación de la clase o docstring. 
    class Coche: 
         “””Abstraccion de los objetos coche.””” 
         def __init__(self, gasolina): 
             self.gasolina = gasolina 
             print “Tenemos”, gasolina, “litros” 
         def arrancar(self): 
             if self.gasolina > 0: 
                  print “Arranca” 
             else: 
                  print “No arranca” 
Como   vemos   el   primer   parámetro   de   los   métodos   de   la   clase   es   siempre 
self.   Esto   sirve   para   referirse   al   objeto   actual.   Este   mecanismo   es 
necesario para poder acceder a los atributos y métodos del objeto.
Herencia 
En   un   lenguaje   orientado   a   objetos   cuando   hacemos   que   una   clase 
(subclase)   herede   de   otra   clase   (superclase)   estamos   haciendo   que   la 
subclase contenga todos los atributos y métodos que tenía la superclase. 
Para indicar que una clase hereda de otra se coloca el nombre de la clase 
de la que se hereda entre paréntesis después del nombre de la clase: 
      class Bateria(Instrumento): 
           pass 
      class Guitarra(Instrumento): 
           pass 
Herencia múltiple 
En Python, a diferencia de otros lenguajes como Java o C#, se permite la 
herencia múltiple, es decir, una clase puede heredar de varias clases a 
la vez. Para declarar la herencia multiple basta con enumerar las clases 
de las que se hereda separándolas por comas: 
      class Cocodrilo(Terrestre, Acuatico): 
Polimorfismo 
La   palabra   polimorfismo,   del   latín   polys   morphos   (varias   formas),   se 
refiere   a   la   habilidad   de   objetos   de   distintas   clases   de   responder   al 
mismo mensaje. Esto se puede conseguir a través de la herencia: un objeto 
de una clase derivada es al mismo tiempo un objeto de la clase padre, de 
forma que allí donde se requiere un objeto de la clase padre también se 
puede utilizar uno de la clase hija. 
Python, al ser de tipado dinámico, no impone restricciones a los tipos 
que se le pueden pasar a una función, a diferencia de lenguajes de tipado 
estático   como   Java   o   C++,   el   polimorfismo   en   Python   no   es   de   gran 
importancia. 
Encapsulación 
La encapsulación se refiere a impedir el acceso a determinados métodos y 
atributos   de   los   objetos   estableciendo   así   qué   puede   utilizarse   desde 
fuera de la clase. Esto se consigue en otros lenguajes de programación 
utilizando   modificadores   de   acceso   que   definen   si   cualquiera   puede 
acceder a esa función o variable  o  si  está restringido  el  acceso  a  la 
propia clase. 
En   Python   no   existen   los   modificadores   de   acceso,   y   lo   que   se   suele 
hacer es que el acceso a una variable o función viene determinado por su 
nombre:   si   el   nombre   comienza   con   dos   guiones   bajos   (y   no   termina 
también   con   dos   guiones   bajos)   se   trata   de   una   variable   o   función 
privada, en caso contrario es pública. 
Clases de “nuevo­estilo” 
Para   que   una   clase   sea   de   nuevo   estilo   es   necesario,   por   ahora,   que 
extienda una clase de nuevo­estilo. En el caso de que no sea necesario 
heredar el comportamiento o el estado de ninguna clase, se puede heredar 
de   object,   que   es   un   objeto   vacio   que   sirve   como   base   para   todas   las 
clases de nuevo estilo. 

RESUMEN REALIZADO POR:
J. D. VACACELA R.
Tomado de:
PYTHON PARA TODOS
por Raúl González Duque
Este   libro   se   distribuye   bajo   una   licencia   Creative   Commons 
Reconocimiento   2.5   España.   Usted   es   libre   de:  copiar,   distribuir   y  
comunicar públicamente la obra hacer obras derivadas
Bajo   las   condiciones   siguientes:   Reconocimiento.   Debe   reconocer   y   dar 
crédito al autor original (Raúl González Duque)
DESCARGADO DE:
http://mundogeek.net/tutorial­python/

También podría gustarte