Tutorial Phyton Desde Cero

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

Tutorial | Python desde Cero

cualquier comentario sarcstico o fuera de linea sera eliminado el user sera bloqueado y denunciado con los moderadores

Qu es Python?

Lenguaje interpretado o de script

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.

Mi primer programa en Python

python hola.py

print Hola Mundo raw_input()

#!/usr/bin/python print Hola Mundo raw_input()

#!/usr/bin/env python print Hola Mundo raw_input()

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)

String c = Hola Mundo; int e = 23;

Nmeros
Enteros

# type(entero) devolvera int entero = 23

# type(entero) devolvera long entero = 23L

# 027 octal = 23 en base 10 entero = 027

# 017 hexadecimal = 23 en base 10 entero = 017

Reales

real = 0.2703

real = 0.1e-3

Complejos

complejo = 2.1 + 7.8j

Operadores

Operadores aritmticos

r = 3.0 / 2

r = float(3) / 2

Cadenas

unicode = u raw = rn

triple = primera linea esto se vera en otra linea

a b c c

= = = =

uno dos a + b # c es unodos a * 3 # c es unounouno

Booleanos

Colecciones

Listas

l = [22, True, una lista, [1, 2]]

l = [11, False] mi_var = l[0] # mi_var vale 11

l = [una lista, [1, 2]] mi_var = l[1][0] # mi_var vale 1

10

l = [22, True] l[0] = 99 # Con esto l valdr [99, True]

l = [99, mi_var = # mi_var mi_var =

True, una lista, [1, 2]] l[0:2] vale [99, True] l[0:4:2] # mi_var vale [99, una lista]

l = [99, mi_var = mi_var = mi_var = # mi_var mi_var =

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]]

l[0:2] = [False] # l vale [False, una lista, [1, 2]]

Tuplas

t = (1, 2, True, python)

11

>>> t = 1, 2, 3 >>> type(t) type tuple

>>> t = (1) >>> type(t) type int >>> t = (1,) >>> type(t) type tuple

mi_var = t[0] # mi_var es 1 mi_var = t[0:2] # mi_var es (1, 2)

c = hola mundo c[0] # h c[5:] # mundo c[::3] # hauo

Diccionarios

d = {Love Actually : Richard Curtis, Kill Bill: Tarantino, Amlie: Jean-Pierre Jeunet}

12

d[Love Actually ] # devuelve Richard Curtis

d[Kill Bill] = Quentin Tarantino

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

if fav == taringa.net: print Tienes buen gusto! print Gracias

String fav = taringa.net; if (fav.equals(taringa.net)){ System.out.println(Tienes buen gusto!); System.out.println(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 ... elif ... elif ... else

if numero < 0: print Negativo elif numero > 0: print Positivo else: print Cero

A if C else B

var = par if (num % 2 == 0) else impar

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

salir = False while not salir: entrada = raw_input() if entrada == adios:

15

salir = True else: print entrada

edad = 0 while edad < 18: edad = edad + 1 if edad % 2 == 0: continue print Felicidades, tienes + str(edad)

for ... in

secuencia = [uno, dos, tres] for elemento in secuencia: print elemento

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): print param1 print param2

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(param2 = 2, param1 = hola)

>>> mi_funcion(hola) Traceback (most recent call last): File <stdin>, line 1, in <module> TypeError: mi_funcion() takes exactly 2 arguments (1 given)

def imprimir(texto, veces = 1): print veces * texto

>>> imprimir(hola) hola

>>> imprimir(hola, 2) holahola

def varios(param1, param2, *otros): for val in otros: print val varios(1, 2) varios(1, 2, 3) varios(1, 2, 3, 4)

def varios(param1, param2, **otros): for i in otros.items(): print i varios(1, 2, tercero = 3)

18

def f(x, y): x = x + 3 y.append(23) print x, y x = 22 y = [22] f(x, y) print x, y

def sumar(x, y): return x + y print sumar(3, 2)

19

def f(x, y): return x * 2, y * 2 a, b = f(1, 2)

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

class Cocodrilo(Terrestre, Acuatico): pass

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

Funciones de orden superior

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

>>> saludar(en)() Hi >>> saludar(fr)() Salut

Iteraciones de orden superior sobre listas

map(function, sequence[, sequence, ...])

def cuadrado(n): return n ** 2 l = [1, 2, 3] l2 = map(cuadrado, l)

filter(function, sequence)

28

def es_par(n): return (n % 2.0 == 0) l = [1, 2, 3] l2 = filter(es_par, l)

reduce(function, sequence[, initial])

def sumar(x, y): return x + y l = [1, 2, 3] l2 = reduce(sumar, l)

Funciones lambda

l = [1, 2, 3] l2 = filter(lambda n: n % 2.0 == 0, l)

def es_par(n): return (n % 2.0 == 0) l = [1, 2, 3] l2 = filter(es_par, l)

Comprensin de listas

29

l2 = [n ** 2 for n in l]

l2 = [n for n in l if n % 2.0 == 0]

l = [0, 1, 2, 3] m = [a, b] n = [s * v for s in m for v in l if v > 0]

l = [0, 1, 2, 3] m = [a, b] n = [] for s in m: for v in l: if v > 0: n.append(s* v)

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>

def mi_generador(n, m, s): while(n <= m): yield n n += s >>> x = mi_generador(0, 5, 1)

30

>>> x <generator object at 000E25710>

for n in mi_generador(0, 5, 1): print n

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

>>> imp(hola) hola >>> mi_decorador(imp)(hola) Llamada a la funcin imp hola

@mi_decorador def imp(s): print s

31

@otro_decorador @mi_decorador def imp(s): print s

32

También podría gustarte