Python Ittux
-
Upload
rudy-vasquez-p -
Category
Documents
-
view
286 -
download
1
description
Transcript of Python Ittux
Taller de PythonJuan Pavón | @pav0nGerente de Desarrollo
móvil en Ohkasis.
INTRODUCCIÓN A PYTHON
¿Qué es python?
Tipado dinamico.
Fuertemente tipado.
¿Por que python?
• Sintaxis simple sencilla y clara.
• Tipado dinamico.
• Una gran comunidad dispuesta ayudar.
• Gran cantidad de librerías.
• Multiplica la productividad.
El Zen de Python
• Hermoso es mejor que feo. • Explícito es mejor que implícito. • 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 pragmático gana a la pureza. • Los errores nunca deberían dejarse pasar silenciosamente. • A menos que se silencien explícitamente.
El Zen de Python
• Cuando te enfrentes a la ambigüedad, rechaza la tentación de adivinar.
• Debería haber una — y preferiblemente sólo una — manera obvia de hacerlo.
• Aunque puede que no sea obvia a primera vista a menos que seas holandés. (NT: Guido van Rossum es holandés)
• Ahora es mejor que nunca. • Aunque muchas veces nunca es mejor que *ahora mismo*. • Si la implementación es difícil de explicar, es una mala idea. • Si la implementación es sencilla de explicar, puede que sea una
buena idea. • Los espacios de nombres son una gran idea — ¡tengamos más de
esas!
¿Quienes usan python?• NASA.
• Yahoo.
• Dropbox.
• Google.
• Ohkasis.
• Una gran cantidad de software libre.• Aplicaciones de escritorio.
• Servicios.
• Frameworks web.
• Frameworks para mobiles.
• Frameworks para programación distribuida.
• Frameworks para auto-aprendizaje.
• Y un largo etcetera.
• Distribuciones de linux.
Implementaciones de Python.
• CPython.• Jython.• IronPython.• PyPy.• Pyston.
Versiones de Python.
• 2.x
• 3.x
Herramientas para empezar a desarrollar.
• Interprete de Python.
• Editor de código.
• Sublime Text
• LightTable
• Visual Studio Code
• Vim
• IDES
• Ninja.
• Boa Constructor
• Eclipse + PyDev.
Tipos Básicos.• Números
• Entero (int, long).• Flotante(float).• Complejos (complex)(7-5j).
• Booleanos (bool) (True,False).
• Cadenas(str,unicode)
Operadores Aritméticos
Exponente: **
Multiplicación: *Resta: -Suma: +
División: /
División entera: //
Modulo: %
Trabajando con cadenas
• Declarar cadenas: ‘simple’,”dobles”,”””triples“””
• Concatenar cadenas
• Repetir cadenas
• Formato de cadenas
• Indexación
Colecciones de datos
• Listas
• Colección ordenada de datos.
• Equivalente a los vectores y/o arrays en otros lenguajes.
• Es mutable.
• Tuplas
• Colección ordenada de datos.
• Equivalente a los vectores y/o arrays en otros lenguajes.
• No es mutable
• Declaración : lista = [1,2,3,4]
• Declaración : tupla = (1,2,3,4)
Colecciones de datos
• Diccionarios
• Colección desordenada de datos.
• Se indexan con claves.
• Las claves son únicas.
• Declaración:
• d = {“clave1”:1,”clave2”:2,3:”clave3”}
• d = dict(k1=“1”,k2=2,k3=“clave3”)
Sentencias condicionales.
• Operadores lógicos.• and : r = True and False # r es False.• or : r = True or False # r es True.• not : r = not True # r es False.
• Operadores relacionales.
• Igualación : r = 5 == 4 # r es False • Desigual : r = 5 != 4 # r es True • Menor que : r = 5 < 4 # r es False
• Mayor que : r = 5 > 4 # r es True
• Menor o igual que: r = 5 >= 5 # r es True • Mayor o igual que: r = 5 <= 4 # r es False
Sentencias condicionales.• if
• if / else
• if/ elif / else
if 1 < 5: print “1 es menor que 5”
if 1 > 5: print “1 es mayor que 5” else: print “1 es menor que 5”
if 1 > 5: print “1 es mayor que 5” elif 1 == 5: print “1 es igual que 5” else: print “1 es menor que 5”
• if ternarior = “true” if True else “false” # r es “true”
Bucles• while : Se ejecuta siempre y cuando la condición se cumpla
indice= 0 while (indice < 9): print ‘el indice es:', indice indice = indice + 1
• for : Un bucle for es un bucle que repite el bloque de instrucciones un número predeterminado de veces.
lista = [1,2,3,4,5,6,7] for indice in lista: print ‘el indice es:', indice
• break : interrumpe la ejecución del bucle.
• continue : Interrumpe una iteracción del bucle.
• else : Ejecuta un bloque de código siempre cuanto no se interrumpa el bucle con una sentencia break.
Bucles
• Comprensión de listas:
• Son maneras convenientes de generar o extraer información de las listas. Las Comprensiones de Lista tienen esta forma general: [elemento for elemento in Lista if Condición]
• Las Comprensiones de Lista tienen esta forma general: [elemento for elemento in Lista if Condición]
Funciones
• Funciones lambda:• Funciones definidas en una sola linea.• Son cuestión de estilo
• g = lambda x: x*2
def nombre(): pass
• Parametros por defectodef nombre(var1, var2=1, var3=2): pass
Funciones
• Generadores:Son funciones que nos permitirán obtener sus resultados poco a poco. Es decir, cada vez que llamemos a la función nos darán un nuevo resultado. Por ejemplo, una función para generar todos los números pares que cada vez que la llamemos nos devuelva el siguiente número par.
• Se utiliza yield en lugar de return.
• Decoradores: un decorador es una función ‘d’ que recibe como argumento otra función ‘a’ y retorna una nueva función ‘b’. La nueva función ‘b’ es la función ‘a’ decorada con ‘d’.
Modulos
• En Python un modulo no es mas que un archivo .py
Paquetes
• En Python un paquete es solo un directorio
• Para que un paquete sea reconocido como tal, en el directorio debe existir un archivo __init__.py