Presentacion Python

Descargar como pptx, pdf o txt
Descargar como pptx, pdf o txt
Está en la página 1de 56

Programacin en

Python

Introduccin

El Zen de Python
Tim Peters plasm de forma concisa los principios de diseo por los que guiarse
al escribir en Python segn el BDFL (NT: Benevolent Dictator for Life o Dictador
Benvolo de por Vida, en este caso Guido van Rossum, el creador de Python)

Hermoso es mejor que feo.


Explcito es mejor que implcito.
Simple es mejor que complejo.
Complejo es mejor que complicado.
Plano es mejor que anidado.
Disperso es mejor que denso.
La legibilidad cuenta.
Los casos especiales no son suficientemente especiales como para romper las reglas.
Aunque lo pragmtico gana a la pureza.
Los errores nunca deberan dejarse pasar silenciosamente.
A menos que se silencien explcitamente.
Cuando te enfrentes a la ambigedad, rechaza la tentacin de adivinar.
Debera haber una y preferiblemente slo una manera obvia de hacerlo.
Aunque puede que no sea obvia a primera vista a menos que seas holands. (NT: Guido van
Rossum es holands)
Ahora es mejor que nunca.
Aunque muchas veces nunca es mejor que *ahora mismo*.
Si la implementacin es difcil de explicar, es una mala idea.
Si la implementacin es sencilla de explicar, puede que sea una buena idea.
Los espacios de nombres son una gran idea tengamos ms de esas!

Python
Es un lenguaje de scripting orientado a objetos, capaz de realizar aplicaciones
Windows o pginas web.
PEP (Python Enhacement Proposal ) es la gua de estilo de programacin en
Python. Actualmente la versin 8 es la mas actual.
Python es un lenguaje de programacin que puede ser clasificado como:
Lenguaje de alto nivel: Expresa los algoritmos de una manera mas cercana a la
capacidad cognitiva humana.
Multiplataforma: GNU/Linux, Windows, Mac OS, Solaris.
Tipado dinmico: Sus variable no requieren se definidas asignando su tipo de
datos, si no que se auto asigna en tiempo de ejecucin.
Multi paradigma: Acepta diferentes paradigmas (tcnicas de programacin).

Los usuarios de Python dicen que el cdigo es Pythonico cuando es


transparente y legible, por el contrario cuando el dificil de entender se dice
que es no Pythonico, con el fin de poder escribir cdigo la legible y
estandarizado existen ciertas reglas definidas en el documento Python
Enhancement Proposal N 8 (PEP 8).

Python
Python es un lenguaje interpretado, lo cual puede ahorrarte mucho
tiempo durante el desarrollo ya que no es necesario compilar ni
enlazar. El intrprete puede usarse interactivamente, lo que facilita
experimentar con caractersticas del lenguaje, escribir programas
descartables, o probar funciones cuando se hace desarrollo de
programas de abajo hacia arriba. Es tambin una calculadora de
escritorio prctica.
Python permite escribir programas compactos y legibles. Los programas
en Python son tpicamente ms cortos que sus programas equivalentes
en C, C++ o Java por varios motivos:
Los tipos de datos de alto nivel permiten expresar operaciones
complejas en una sola instruccin la agrupacin de instrucciones se
hace por sangra en vez de llaves de apertura y cierre
no es necesario declarar variables ni argumentos.

Modo interactivo

El intrprete de Python estndar incluye un modo interactivo


en el cual se escriben las instrucciones en una especie de
intrprete de comandos: las expresiones pueden ser
introducidas una a una, pudiendo verse el resultado de su
evaluacin inmediatamente, lo que da la posibilidad de
probar porciones de cdigo en el modo interactivo antes de
integrarlo como parte de un programa. Esto resulta til tanto
para las personas que se estn familiarizando con el lenguaje
como para los programadores ms avanzados.

>>> 1 + 1
2
>>> a = range(10)
>>> print a
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

Variables
Las variables se definen de forma dinmica, lo que
significa que no se tiene que especificar cul es su tipo
de antemano y puede tomar distintos valores en otro
momento, incluso de un tipo diferente al que tena
previamente. Se usa el smbolo = para asignar valores.
x=123
#entero
x=123L #entero largo
x=3.14 #doble
x=hola #cadena
x=[0,1,2] #lista
x=(0,1,2) #tupla
x=open(archivo.py,r)

#archivo

Tipos de datos

Operadores
aritmticos

+ Suma
a = 10 + 5 a es 15
- Resta
a = 12 - 7 a es 5
- Negacin
a = -5 a es -5
* Multiplicacin
a = 7 * 5 a es 35
** Exponente a = 2 ** 3
a es 8
/ Divisin a = 12.5 / 2
a es 6.25
// Divisin entera a = 12.5 / 2
a es 6.0
% Mdulo a = 27 % 4
a es 3

Elementos del
lenguaje
Python fue diseado para ser ledo con facilidad.
Una de sus caractersticas es el uso de palabras
donde otros lenguajes utilizaran smbolos. Por
ejemplo, los operadores lgicos !, || y && en
Python se escriben not, or y and,
respectivamente.
El contenido de los bloques de cdigo es
delimitado mediante espacios o tabuladores,
conocidos como indentacin, antes de cada lnea
de rdenes pertenecientes al bloque.
Debido al significado sintctico de la indentacin,
una instruccin debe estar contenida en lnea. No
obstante, si por legibilidad se quiere dividir la
instruccin en varias lneas, aadiendo una barra
invertida \ al final de una lnea.

Comentarios
Los comentarios se pueden poner de dos formas. La primera y
ms apropiada para comentarios largos es utilizando la
notacin ''' comentario ''', tres apstrofos de apertura y tres de
cierre. La segunda notacin utiliza el smbolo #, y se extienden
hasta el final de la lnea.
El intrprete no tiene en cuenta los comentarios, lo cual es til
si deseamos poner informacin adicional en nuestro cdigo
como, por ejemplo, una explicacin sobre el comportamiento
de una seccin del programa.
Comentario de una sola lnea
#Este es un comentario de una sola lnea
Comentario de varia lneas
Este es un comentario de
Varias lneas

Tipos de datos complejos


(Diccionarios)
A diferencia de las listas y tuplas los diccionarios
se indexan con claves (relaciones de uno a uno) la
cuales pueden ser cadena o nmeros.
Las principales operaciones de un diccionario son
guardar un valor con una clave y extraer su valor
mediante una misma clave.

Para declarar un diccionario se usan las llaves {}.


Contienen elementos separados por comas,
donde cada elemento est formado por un par
clave:valor (el smbolo : separa la clave de su
valor correspondiente).
Los diccionarios son mutables, es decir, se puede
cambiar el contenido de un valor en tiempo de
ejecucin.
En cambio, las claves de un diccionario deben ser
inmutables. Esto quiere decir, por ejemplo, que no
podremos usar ni listas ni diccionarios como
claves.
El valor asociado a una clave puede ser de
cualquier tipo de dato, incluso un diccionario.
Declaracin

Tipos de datos complejos


(Diccionarios)
Agregando elementos al diccionario
>>> diccionario ={'cve1': 10,'cve2':20, 'cve3':30}
>>> diccionario['cve4']=40
>>> diccionario
{'cve4': 40, 'cve1': 10, 'cve2': 20, 'cve3': 30}
Obteniendo un elemento del diccionario
>>> diccionario ={'cve1': 10,'cve2':20, 'cve3':30}
>>> diccionario['cve2']
20

Tipos de datos complejos


(Diccionarios)
Eliminar elementos del diccionario
>>> diccionario ={'cve1': 10,'cve2':20, 'cve3':30}
>>> del diccionario['cve1']
>>> diccionario
{'cve2': 20, 'cve3': 30}
Cambiar valor de un elemento
>>> diccionario ={'cve1': 10,'cve2':20, 'cve3':30}
>>> diccionario['cve1']=100
>>> diccionario
{'cve1': 100, 'cve2': 20, 'cve3': 30}

Tipos de datos complejos


(Diccionarios)
clear() Elimina los elementos del diccionario
>>> diccionario.clear()
>>> diccionario
{}
get() Obtiene el valor de una clave especifica
>>> diccionario ={'cve1': 10,'cve2':20, 'cve3':30}
>>> diccionario.get('cve1')
10
tems() Muestra una la lista de todos los
elementos (clave,valor) que tiene el diccionario
>>> diccionario.items()
dict_items([('cve1', 10), ('cve2', 20), ('cve3', 30)])

Tipos de datos complejos


(Diccionarios)
keys() Devuelve una lista de todas las claves que
se encuentran en el diccionario.
>>> diccionario.keys()
dict_keys(['cve1', 'cve2', 'cve3'])
pop() Elimina un elemento del diccionario.
>>> diccionario ={'cve1': 10,'cve2':20, 'cve3':30}
diccionario.pop('cve1')
10
>>> diccionario
{'cve2': 20, 'cve3': 30}

Tipos de datos complejos


(Diccionarios)
values() Devuelve una lista de todos los valores
que hay en el diccionario
>>> diccionario.values()
dict_values([100, 20, 30])
dict() Puede generar un diccionario desde una
expresin que cumpla con la secuencia valor par
>>> diccionario =dict([('cve1',10),('cve2',20),
('cve3',30)])
>>> diccionario
{'cve1': 10, 'cve2': 20, 'cve3': 30}

Tipos de datos complejos


(Diccionarios)
Tambin es posible generar un diccionario a partir
de llaves calculadas:
>>> diccionario ={x:x**2 for x in (2,4,6)}
>>> diccionario
{2: 4, 4: 16, 6: 36}

Tipos de datos complejos


(Diccionarios)

Listas y Tuplas
Para declarar una lista se usan los corchetes [], en cambio,
para declarar una tupla se usan los parntesis (). En ambas los
elementos se separan por comas, y en el caso de las tuplas es
necesario que tengan como mnimo una coma.
Tanto las listas como las tuplas pueden contener elementos de
diferentes tipos. No obstante las listas suelen usarse para
elementos del mismo tipo en cantidad variable mientras que
las tuplas se reservan para elementos distintos en cantidad
fija.
Para acceder a los elementos de una lista o tupla se utiliza un
ndice entero (empezando por "0", no por "1"). Se pueden
utilizar ndices negativos para acceder elementos a partir del
final.
Las listas se caracterizan por ser mutables, es decir, se puede
cambiar su contenido en tiempo de ejecucin, mientras que las
tuplas son inmutables ya que no es posible modificar el
contenido una vez creada.

Tipos de datos complejos


(Listas)
Las listas son los tipos de datos ms verstiles de
los datos compuestos con los que cuenta Python,
las listas pueden ser declaradas como un conjunto
de datos separados por comas encerrados entre
corchetes, los cuales no es necesario que sean del
mismo tipo, ejemplo:

>>> lista =["volvo","bmw","vw",1,23]
>>> lista
['volvo', 'bmw', 'vw', 1, 23]

Tipos de datos complejos


(Listas)
Las listas a diferencia las tuplas permite modificar
los datos una vez creados.
Los ndices de las listas comienzan en 0 , para
acceder a un elemento de la lista se escribe entre
parntesis el ndice del elemento a seleccionar.
>>> lista =["volvo","bmw","vw",1,23]
>>> lista[1]
#devuelve 'bmw
Es posible seleccionar un rango de elementos de
la lista
>>> lista[1:3]
#devuelve ['bmw', 'vw']

Tipos de datos complejos


(Listas)
Seleccionar un numero determinado de tems
>>> lista =["volvo","bmw","vw",1,23]
>>> lista[:3]
#devuelve ['volvo', 'bmw',
'vw']
>>> lista[3:]
#devuelve [1, 23]
Las listas no son inmutables por lo que permiten
modificar los datos una vez creados:
>>> lista[2] ="ferrari"
>>> lista
['volvo', 'bmw', 'ferrari', 1, 23]

Tipos de datos complejos


(Listas)
append(value) Agrega nuevos elementos a la lista
>>> lista.append("ford")
>>> lista
['volvo', 'bmw', 'ferrari', 1, 23, 'ford']
clear() Limpia los elementos de la lista
>>> lista.clear()
>>> lista
[]
copy() Copia los elementos de una lista a otra
>>> lista =["volvo","bmw","vw",1,23]
lista2=lista.copy()
>>> lista2
['volvo', 'bmw', 'vw', 1, 23]

Tipos de datos complejos


(Listas)
count(value) Cuenta cuantas veces existe un
determinado elemento en la lista
>>> lista =["volvo","bmw","vw",1,23]
lista.count("volvo")
1
extend(lista) Concatena elementos
>>> lista1= ["elemento1", "elemento2"]
>>> lista2 = ["elemento3", "elemento4"]
lista1.extend(lista2)
>>> lista1
['elemento1', 'elemento2', 'elemento3',
'elemento4']

Tipos de datos complejos


(Listas)
index(value) Regresa la posicin de un elemento
a buscar
>>> lista =["volvo","bmw","vw",1,23]
>>> lista.index("volvo")
0
insert(pos,value) Agrega un elemento a la lista
en una posicin definida.
>>> lista =["volvo","bmw","vw",1,23]
>>> lista.insert(0,"Ford")
>>> lista
['Ford', 'volvo', 'bmw', 'vw', 1, 23]

Tipos de datos complejos


(Listas)
pop(posicion) Elimina un elemento de la lista en
base a su ndice.
lista =["volvo","bmw","vw",1,23]
>>> lista.pop(0)
'volvo'
>>> lista
['bmw', 'vw', 1, 23]
remove() Elimina un elemento de la lista en base a
su valor.
lista =["volvo","bmw","vw",1,23]
lista.remove("volvo")
>>> lista
['bmw', 'vw', 1, 23]

Tipos de datos complejos


(Listas)
reverse() Ordena los elementos de la lista de
atrs hacia adelante.
lista =["volvo","bmw","vw",1,23]
>>> lista.reverse()
>>> lista
[23, 1, 'vw', 'bmw', 'volvo']
len(lista) Regresa el nmero de elementos de la
lista.
lista =["volvo","bmw","vw",1,23]
>>> len(lista)
5

Tipos de datos complejos


(Listas)
Usando listas como pilas
Usando los mtodos append y pop, es posible utilizar las listas como
pilas (UEPS):
>>> pila = [3,4,5]
>>> pila.append(6)
>>> pila.append(7)
>>> pila
[3, 4, 5, 6, 7]
>>> pila.pop()
7
>>> pila.pop()
6
>>> pila.pop()
5
>>> pila
[3, 4]

Tipos de datos complejos


(Listas)
Usando listas como colas
Tambin es posible utilizar las listas como Queues donde el primer elemento
en ser agregado es el primer elemento en salir (PEPS).
>>> from collections import deque
>>> cola =deque([1,2,3])
>>> cola
deque([1, 2, 3])
>>> cola.append(4)
>>> cola.append(5)
>>> cola
deque([1, 2, 3, 4, 5])
>>> cola.popleft()
1
>>> cola.popleft()
2
>>> cola
deque([3, 4, 5])
>>>

Listas

Tipos de datos complejos


(Tuplas)
Una tupla es una variable que permite almacenar
varios datos de diferentes tipos inmutables (que
no permiten ser modificados una vez creados).
Una tupla se define del mismo modo que una
lista, salvo que se encierran los elementos entre
parntesis en lugar de corchetes.
Los elementos de una tupla tienen un orden
definido al igual que los de una lista, iniciando el
primer elemento en 0. A diferencia de las listas
estas son ms rpidas que las listas.

Tipos de datos complejos


(Tuplas)
Las tuplas no tienen mtodos, pero son tiles y
mas veloces que las listas
>>> mi_tupla =("hola a todos",2,4.5,cadena de
texto)
Para acceder a cada uno de los elementos de la
tupla se hace mediante su ndice correspondiente.
>>> print (mi_tupla[0])
hola a todos
>>>

Tipos de datos complejos


(Tuplas)
Es posible tomar una porcin de la tupla,
indicando nicamente el inicio y el fin de la
misma.
>>> print(mi_tupla[1:3]) #devuelve (2, 4.5)
>>> print(mi_tupla[2:])
#devuelve (4.5,
'cadena de texto')
>>> print(mi_tupla[:2])
#devuelve ('hola a
todos', 2)
Otra caracterstica de las tuplas es que podemos
acceder a los elementos de la misma en forma
inversa:
>>> mi_tupla =("hola a todos",2,4.5,cadena de
texto)

Tuplas

Conjuntos
Los conjuntos se construyen mediante set(items)
donde items es cualquier objeto iterable, como
listas o tuplas. Los conjuntos no mantienen el
orden ni contienen elementos duplicados.
Se suelen utilizar para eliminar duplicados de una
secuencia, o para operaciones matemticas como
interseccin, unin, diferencia y
diferencia simtrica.

Listas por comprensin


Una lista por comprensin (en ingls: list
comprehension) es una expresin compacta para
definir listas. Al igual que lambda, aparece en
lenguajes funcionales.

Funciones
Las funciones se definen con la palabra clave def,
seguida del nombre de la funcin y sus
parmetros. Otra forma de escribir funciones,
aunque menos utilizada, es con la palabra clave
lambda (que aparece en lenguajes funcionales
como Lisp).
El valor devuelto en las funciones con def ser el
dado con la instruccin return.

Clases
Las clases se definen con la palabra clave class, seguida del
nombre de la clase y, si hereda de otra clase, el nombre de esta.
En Python 2.x es recomendable que una clase herede de "object",
en Python 3.x esto ya no har falta.
En una clase un "mtodo" equivale a una "funcin", y una
"propiedad" equivale a una "variable".
"__init__" es un mtodo especial que se ejecuta al instanciar la
clase, se usa generalmente para inicializar propiedades y ejecutar
mtodos necesarios. Al igual que todos los mtodos en Python,
debe tener al menos un parmetro, generalmente se utiliza self.
El resto de parmetros sern los que se indiquen al instanciar la
clase.
Las propiedades que se desee que sean accesibles desde fuera
de la clase se deben declarar usando self. delante del nombre.
En python no existe el concepto de encapsulacin,22 por lo que el
programador debe ser responsable de asignar los valores a las
propiedades

Condicionales
Una sentencia condicional (if) ejecuta su
bloque de cdigo interno slo si se cumple cierta
condicin. Se define usando la palabra clave if
seguida de la condicin, y el bloque de cdigo.
Condiciones adicionales, si las hay, se introducen
usando elif seguida de la condicin y su bloque de
cdigo. Todas las condiciones se evalan
secuencialmente hasta encontrar la primera que
sea verdadera, y su bloque de cdigo asociado es
el nico que se ejecuta. Opcionalmente, puede
haber un bloque final (la palabra clave else
seguida de un bloque de cdigo) que se ejecuta
slo cuando todas las condiciones fueron falsas.

Bucle for
El bucle for es similar a foreach en otros
lenguajes. Recorre un objeto iterable, como una
lista, una tupla o un generador, y por cada
elemento del iterable ejecuta el bloque de cdigo
interno. Se define con la palabra clave for seguida
de un nombre de variable, seguido de in, seguido
del iterable, y finalmente el bloque de cdigo
interno.

Bucle while
l bucle while evala una condicin y, si es
verdadera, ejecuta el bloque de cdigo interno.
Contina evaluando y ejecutando mientras la
condicin sea verdadera. Se define con la palabra
clave while seguida de la condicin

Mdulos
Existen muchas propiedades que se pueden
agregar al lenguaje importando mdulos, que son
"minicdigos" (la mayora escritos tambin en
Python) que proveen de ciertas funciones y clases
para realizar determinadas tareas. Un ejemplo es
el mdulo Tkinter, que permite crear interfaces
grficas basadas en la biblioteca Tk. Otro ejemplo
es el mdulo os, que provee acceso a muchas
funciones del sistema operativo. Los mdulos se
agregan a los cdigos escribiendo import seguida
del nombre del mdulo que queramos usar.

Crearemos un pequeo
modulo.
Al salir del intrprete Python y volver a entrar se
pierden las definiciones echas. Por lo tanto
debemos crear Script para programas mas largos.

def fib(n):
a, b = 0 , 1
while b < n:
print(b,
end = )
a , b = b, a
+b
print()

def fib2(n):
resultado =
[]
a, b = 0 , 1
while b < n:
resultado.appen
d(b)
a , b = b, a
+b
return

Import fibo
Fibo.fib( 1000 )
Fibo.fib2(100)
Fibo.__name__

From fibo import fib, fib2


From fib import *

$ python fibo.py 50
Si el mdulo se importa, ese cdigo no se ejecuta:
>>> import fibo
>>>

Biblioteca estndar
Python tiene una gran biblioteca estndar, usada
para una diversidad de tareas. Esto viene de la
filosofa "pilas incluidas" ("batteries included") en
referencia a los mdulos de Python. Los mdulos
de la biblioteca estndar pueden mejorarse por
mdulos personalizados escritos tanto en C como
en Python. Debido a la gran variedad de
herramientas incluidas en la biblioteca estndar,
combinada con la habilidad de usar lenguajes de
bajo nivel como C y C++, los cuales son capaces
de interactuar con otras bibliotecas, Python es un
lenguaje que combina su clara sintaxis con el
inmenso poder de lenguajes menos elegantes.

conclusin
Python demasiado bello, sencillo y potente para
ser real, sin embargo es REAL. Una de las
cuestiones que beneficia al lenguaje es la
necesidad de ser sencillo. Obtiene lo mejor de
cada lenguaje y lo combina para su uso cotidiano.
Aunque por nuestras experiencias laborales se ha
aprendido que libre != gratis, analizando Python
no solo se ve prometedor, adems cuenta con
una curva de aprendizaje muy baja y muy
documentado.

Referencias
http://es.wikibooks.org/wiki/Introducci
%C3%B3n_a_Python
http://docs.python.org.ar/tutorial/pdfs/TutorialPython2.
pdf
http://www.cursosdeprogramacionadistancia.com/stati
c/pdf/material-sin-personalizar-python.pdf
https://docs.python.org/2/tutorial/datastructures.html
http://www.usabilidadweb.com.ar/python.php
http://programacion.net/articulo/guia_de_aprendizaje_
de_python_65/3
http://www3.uji.es/~vjimenez/PL/python-by-vilar.pdf
https://sites.google.com/site/sugaractivities/home/cur
so-pygame/tipos-de-datos-complejos-de-python-coleccion
es---2a-parte---tuplas-y-diccionarios

También podría gustarte