Learn Python in Y Minutes
Learn Python in Y Minutes
Learn Python in Y Minutes
Donde X=Python
Python fue creado por Guido Van Rossum en el principio de los 90'. Ahora es uno de los lenguajes
más populares en existencia. Me enamoré de Python por su claridad sintáctica. Es básicamente
pseudocódigo ejecutable.
####################################################
## 1. Tipos de datos primitivos y operadores.
####################################################
# Tienes números
3 #=> 3
# Igualdad es ==
1 == 1 # => True
2 == 1 # => False
# Desigualdad es !=
1 != 1 # => False
2 != 1 # => True
# Más comparaciones
1 < 10 # => True
1 > 10 # => False
2 <= 2 # => True
2 >= 2 # => True
# .format puede ser usaro para darle formato a los strings, así:
"{} pueden ser {}".format("strings", "interpolados")
# None es un objeto
None # => None
####################################################
## 2. Variables y Colecciones
####################################################
# También puedes hacer todas esas cosas que haces con listas
len(tupla) #=> 3
tupla + (4, 5, 6) #=> (1, 2, 3, 4, 5, 6)
tupla[:2] #=> (1, 2)
2 in tupla #=> True
# Obtén todos los valores como una lista. Nuevamente necesitamos envolverlas en
una lista para sacarlas del iterable.
list(dicc_lleno.values()) #=> [3, 2, 1]
# Nota - Lo mismo que con las llaves, no se garantiza el orden.
####################################################
## 3. Control de Flujo
####################################################
"""
For itera sobre iterables (listas, cadenas, diccionarios, tuplas,
generadores...)
imprime:
perro es un mamifero
gato es un mamifero
raton es un mamifero
"""
for animal in ["perro", "gato", "raton"]:
print("{} es un mamifero".format(animal))
"""
`range(número)` retorna un generador de números
desde cero hasta el número dado
imprime:
0
1
2
3
"""
for i in range(4):
print(i)
"""
While itera hasta que una condición no se cumple.
imprime:
0
1
2
3
"""
x = 0
while x < 4:
print(x)
x += 1 # versión corta de x = x + 1
Podemos recorrerla.
for i in nuestro_iterable:
print(i) # Imprime uno, dos, tres
####################################################
## 4. Funciones
####################################################
sumar_10 = crear_suma(10)
sumar_10(3) #=> 13
####################################################
## 5. Classes
####################################################
# Constructor basico
def __init__(self, nombre):
# Asigna el argumento al atributo nombre de la instancia
self.nombre = nombre
# Un metodo de instancia. Todos los metodos toman self como primer argumento
def decir(self, msg):
return "%s: %s" % (self.nombre, msg)
j = Humano("Joel")
print j.decir("hello") #imprime "Joel: hello"
####################################################
## 6. Módulos
####################################################
####################################################
## 7. Avanzado
####################################################
# Decoradores
# en este ejemplo 'pedir' envuelve a 'decir'
# Pedir llamará a 'decir'. Si decir_por_favor es True entonces cambiará el
mensaje a retornar
from functools import wraps
def pedir(_decir):
@wraps(_decir)
def wrapper(*args, **kwargs):
mensaje, decir_por_favor = _decir(*args, **kwargs)
if decir_por_favor:
return "{} {}".format(mensaje, "¡Por favor! Soy pobre :(")
return mensaje
return wrapper
@pedir
def say(decir_por_favor=False):
mensaje = "¿Puedes comprarme una cerveza?"
return mensaje, decir_por_favor
Gratis y en línea
Encuadernados
Programming Python
(http://www.amazon.com/gp/product/0596158106/ref=as_li_qf_sp_asin_tl?
ie=UTF8&camp=1789&creative=9325&creativeASIN=0596158106&linkCode=as2&tag=homebits04-
20)
Dive Into Python (http://www.amazon.com/gp/product/1441413022/ref=as_li_tf_tl?
ie=UTF8&camp=1789&creative=9325&creativeASIN=1441413022&linkCode=as2&tag=homebits04-
20)
Python Essential Reference (http://www.amazon.com/gp/product/0672329786/ref=as_li_tf_tl?
ie=UTF8&camp=1789&creative=9325&creativeASIN=0672329786&linkCode=as2&tag=homebits04-
20)