Tutorial Phyton Desde Cero
Tutorial Phyton Desde Cero
Tutorial Phyton Desde Cero
cualquier comentario sarcstico o fuera de linea sera eliminado el user sera bloqueado y denunciado con los moderadores
Qu es Python?
Tipado dinmico
Fuertemente tipado
Multiplataforma
Orientado a objetos
Por qu Python?
Instalacin de Python
Python 2.7.2 (default, Aug 19 2011, 20:41:43) [GCC] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>>
http://www.python.org/download
Herramientas bsicas
In [3]: str? Type: type Base Class: String Form: Namespace: Python builtin Docstring: str(object) -> string Return a nice string representation of the object. If the argument is a string, the return value is the same object.
python hola.py
chmod +x hola.py
./hola.py
Tipos bsicos
# esto es una cadena c = Hola Mundo # y esto es un entero e = 23 # podemos comprobarlo con la funcin type type(c) type(e)
Nmeros
Enteros
Reales
real = 0.2703
real = 0.1e-3
Complejos
Operadores
Operadores aritmticos
r = 3.0 / 2
r = float(3) / 2
Cadenas
unicode = u raw = rn
a b c c
= = = =
Booleanos
Colecciones
Listas
10
True, una lista, [1, 2]] l[0:2] vale [99, True] l[0:4:2] # mi_var vale [99, una lista]
True, una lista] l[1:] # mi_var vale [True, una lista] l[:2] # mi_var vale [99, True] l[:] vale [99, True, una lista] l[::2] # mi_var vale [99, una lista]
l = [99, True, una lista, [1, 2]] l[0:2] = [0, 1] # l vale [0, 1, una lista, [1, 2]]
Tuplas
11
>>> t = (1) >>> type(t) type int >>> t = (1,) >>> type(t) type tuple
Diccionarios
d = {Love Actually : Richard Curtis, Kill Bill: Tarantino, Amlie: Jean-Pierre Jeunet}
12
Control de flujo
Sentencias condicionales
if
fav = taringa.net # si (if) fav es igual a tarringa.net if fav == taringa.net: print Tienes buen gusto! print Gracias
13
if ... else
if fav == taringa.net: print Tienes buen gusto! print Gracias if fav != taringa.net: print Vaya, que lstima
if fav == print print else: print taringa.net: Tienes buen gusto! Gracias Vaya, que lstima
if numero < 0: print Negativo elif numero > 0: print Positivo else: print Cero
A if C else B
14
Bucles
while
edad = 0 while edad < 18: edad = edad + 1 print Felicidades, tienes + str(edad)
while True: entrada = raw_input(> ) if entrada == adios: break else: print entrada
15
edad = 0 while edad < 18: edad = edad + 1 if edad % 2 == 0: continue print Felicidades, tienes + str(edad)
for ... in
int mi_array[] = {1, 2, 3, 4, 5}; int i; for(i = 0; i < 5; i++) { printf(%dn, mi_array[i]); }
16
Funciones
def mi_funcion(param1, param2): Esta funcion imprime los dos valores pasados como parametros print param1 print param2
mi_funcion(hola, 2)
17
>>> mi_funcion(hola) Traceback (most recent call last): File <stdin>, line 1, in <module> TypeError: mi_funcion() takes exactly 2 arguments (1 given)
def varios(param1, param2, *otros): for val in otros: print val varios(1, 2) varios(1, 2, 3) varios(1, 2, 3, 4)
18
19
Orientacin a Objetos
Clases y objetos
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 def conducir(self):
20
if self.gasolina > 0: self.gasolina -= 1 print Quedan, self.gasolina, litros else: print No se mueve
mi_coche = Coche(3)
>>> print mi_coche.gasolina 3 >>> mi_coche.arrancar() Arranca >>> mi_coche.conducir() Quedan 2 litros >>> mi_coche.conducir() Quedan 1 litros >>> mi_coche.conducir() Quedan 0 litros >>> mi_coche.conducir() No se mueve >>> mi_coche.arrancar() No arranca >>> print mi_coche.gasolina 0
Herencia
21
class Instrumento: def __init__(self, precio): self.precio = precio def tocar(self): print Estamos tocando musica def romper(self): print Eso lo pagas tu print Son, self.precio, $$$ class Bateria(Instrumento): pass class Guitarra(Instrumento): pass
Herencia mltiple
22
class Terrestre: def desplazar(self): print El animal anda class Acuatico: def desplazar(self): print El animal nada class Cocodrilo(Terrestre, Acuatico): pass c = Cocodrilo() c.desplazar()
Polimorfismo
Encapsulacin
class Ejemplo:
23
def publico(self): print Publico def __privado(self): print Privado ej = Ejemplo() ej.publico() ej.__privado()
ej._Ejemplo__privado()
class Fecha(): def __init__(self): self.__dia = 1 def getDia(self): return self.__dia def setDia(self, dia): if dia > 0 and dia < 31: self.__dia = dia else: print Error mi_fecha = Fecha() mi_fecha.setDia(33)
class Fecha(object): def __init__(self): self.__dia = 1 def getDia(self): return self.__dia def setDia(self, dia): if dia > 0 and dia < 31: self.__dia = dia else: print Error dia = property(getDia, setDia) mi_fecha = Fecha() mi_fecha.dia = 33
Clases de nuevo-estilo
24
Mtodos especiales
Revisitando Objetos
25
Diccionarios
Cadenas
Listas
26
Programacin funcional
27
def saludar(lang): def saludar_es(): print Hola def saludar_en(): print Hi def saludar_fr(): print Salut lang_func = {es: saludar_es, en: saludar_en, fr: saludar_fr} return lang_func[lang] f = saludar(es) f()
filter(function, sequence)
28
Funciones lambda
Comprensin de listas
29
l2 = [n ** 2 for n in l]
l2 = [n for n in l if n % 2.0 == 0]
Generadores
l2 = (n ** 2 for n in l)
>>> l2 = [n ** 2 for n in l] >>> l2 [0, 1, 4, 9] >>> l2 = (n ** 2 for n in l) >>> l2 <generator object at 000E33210>
30
lista = list(mi_generador)
Decoradores
def mi_decorador(funcion): def nueva(*args): print Llamada a la funcion, funcion.__name__ retorno = funcion(*args) return retorno return nueva
31
32