El documento resume una presentación sobre la introducción a Python en 45 minutos. Explica que Python fue creado por Guido van Rossum en 1990 y destaca que es un lenguaje de programación amigable, flexible, poderoso y embebible. También define conceptos básicos como tipos de datos, operadores, estructuras de control, funciones y programación orientada a objetos.
1. SaltaLUG y Point To Null Presentan: De cero a en 45 minutos
2. De cero a Python en 45' La historia de Python Durante las vacaciones de navidad de 1990 Guido van Rossum se aburrió y, como quien dice «hago algo útil mientras hierve la pava», se puso a desarrollar Python. La idea era crear un lenguaje sucesor de ABC que además fuera capaz de manejar excepciones e Interactuar fluidamente con el sistema operativo.
8. ¿Que es Python? De cero a Python en 45' Amigable Flexible Poderoso
9. ¿Que es Python? De cero a Python en 45' Amigable Extensible Flexible Poderoso
10. ¿Que es Python? De cero a Python en 45' Amigable Extensible Flexible Poderoso Embebible
11. Operaciones básicas De cero a Python en 45' Python es fuertemente tipado: significa que los tipos de datos se mantienen de forma consistente. Un texto nunca se comportará como si fuera un número. Python es dinámicamente tipado: significa que se puede cambiar el tipo de datos contenido en una variable en cualquier momento y lugar. Python es multiparadigma: significa que, en lugar de forzarnos a un estilo de programación en particular, permite varios estilos: estructural, funcional, orientado a objetos, orientado a aspectos... ect. Python es un sistema de objetos puro y consistente: en Python todo es un objeto. Esto lo hace deliciosamente predecible.
28. Operaciones básicas # No hay mucho secreto en comprender como # funcionan estos operadores, ¿verdad? # No iba a poner los ejemplos estos pero me # sobró una diapositiva. De cero a Python en 45' a = 6 b = 2 a / b 3 a * b 12 a % b 2 a == b False a != b True a < b False a > b True
34. Operaciones básicas De cero a Python en 45' int a = 1; a = 2; Int b = a a = 1 a = 2 C Python
35. Operaciones básicas De cero a Python en 45' int a = 1; a = 2; Int b = a a = 1 a = 2 b = 2 C Python
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47. Operaciones básicas De cero a Python en 45' Ejemplificando el dinamismo de Python, de paso vemos algunos tipos: variable = 14 # Es un entero variable = “Una pequeña frase” # Ahora es un texto variable = [1, 2, 3, 4] # Ya es una lista variable = {1: “Uno”, 2:”Dos”, 3:”Tres”} # Y diccionario Esto significa que, conforme lo necesitemos, podremos cambiar el valor y el comportamiento de las variables para que se adapten a la evolución del programa.
48. Estructuras de control De cero a Python en 45' En C En Python if (x <= y) puts (x); x++; if x < y: print x x += 1 En Python n o hay marcadores de inicio ni fin de bloque. Un bloque es toda la porción de código continua que tiene el mismo nivel de sangrado. Por ejemplo: Estos programas muestran x en pantalla e incrementan su valor en 1 siempre que x sea menor que y . Es así, ¿no?
49. Estructuras de control De cero a Python en 45' Ejecucion condicional: if condición : » acciones elif condición : » acciones else : » acciones Las clausulas elif y else son opcionales. Pueden usarse múltiples elif .
50. Estructuras de control De cero a Python en 45' Ciclo hacer mientras: while condición : » acciones Funciona de modo similar al while de cualquier otro lenguaje. Repetirá las acciones del bloque mientras la condición sea verdadera. a = 1 while a < 10: print a a = a + 3 1 4 7
51. Estructuras de control De cero a Python en 45' Ciclo para: for elemento in secuencia : » acciones Python exige una secuencia de la que se irán sacando los valores para elemento . Puede ser una lista, una tupla o cualquier objeto iterador (no se preocupen, es mas fácil de lo que suena). zoologico = [“leon”, “tigre”, “mono”] for animal in zoologico : print “vi un ” + animal vi un leon vi un tigre vi un mono
52. Estructuras de control De cero a Python en 45' Para usar for con rangos númericos basta con crear una secuencia con el rango deseado. Para eso podemos usar la función range( [desde] , hasta, [paso] ) print range(10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] print range(5, 10) [5, 6, 7, 8, 9] print range(0, 10, 2) [0, 2, 4, 6, 8] La función xrange() tiene un comportamiento similar, solo que no devuelve una lista con los numero incluidos sino que devuelve un objeto iterador, esta es una solución mas eficiente y debería ser usada siempre que se pueda.
53. Estructuras de control De cero a Python en 45' Manejo de ecepciones: try: » acciones a intentar except TIPOError : » acciones en caso de error else: » acciones si no hubo error El manejo de excepciones son de gran utilidad si es que necesitamos realizar operaciones que dependen de factores externos y pueden no estar disponibles.
54. Uso de funciones De cero a Python en 45' Definir una función: Para definir una función se usa la siguiente sintaxis: def nombre( parametro1 , parametro2... ) : » acciones » return resultado No es necesario especificar el tipo de los parámetros La clausula de retun es opcional, si no se usa la función devuelve un resultado vacío ejemplo: def suma( a , b ) : » return a + b
55. Uso de funciones De cero a Python en 45' Una función puede no necesitar parámetros. Por ejemplo: def saludar() : » print “Hola amigo, bienvenido!” También es posible darle a los parámetros un valor por defecto, el valor que usaran si no es especificado al llamarse la función. Por ejemplo: def saludar(nombre= ”amigo” ) : » print “Hola ” + nombre + “, bienvenido!” saludar( “Pedro” ) Hola Pedro, bienvenido! saludar() Hola amigo, bienvenido!
64. Adivinaron, un error también es un objeto Como pueden ver, estaremos de objetos hasta el cuello. Así que no es mala idea repasar algunos conceptos.
65. Programación Orientada a Objetos De cero a Python en 45' Clase: Son los “tipos de objeto”. Objeto: Son entidades que combinan estado , comportamiento e identidad . Es análogo a un objeto cualquiera en el mundo real. Si la clase es perro, un objeto es “Kevin” (el pastor alemán de mi tía). Otro objeto podría ser “Terry” (el Terrier de mi suegra) o “Candy” (la perrita que adoptó mi novia). Todas estas mascotas son de la misma especie, son perros. Todos serian objetos (instancias) de la misma clase “Perro”. ¿Porque es útil trabajar con objetos?, de eso nos iremos dando cuenta mientras aprendemos a usarlos.
66. Programación Orientada a Objetos De cero a Python en 45' Definir una clase: class nombre : def metodo1 ( self, parametro1 , parametro2 , ...) : acciones return def metodo2 ( self, parametro1 , parametro2 , ...) : acciones return Los métodos dentro de una clase se definen de igual forma que se definen las funciones, solo que deben estar listos para recibir, como primer parámetro, una auto-referencia.
67. Programación Orientada a Objetos De cero a Python en 45' Va un ejemplo de una pequeña clase: class perro : def ladrar ( self, cantidad) : print cantidad * “guau! ” Para probar nuestro ejemplo debemos instanciar la clase perro. Para eso solo debemos llamar a la clase. kevin = perro() Hemos creado una instancia de perro y la llamamos Kevin .
68. Programación Orientada a Objetos De cero a Python en 45' Para ejecutar un método de un objeto solo debemos llamarlo del modo habitual: objeto.metodo( parametro1 , parametro2 , ...) Siguiendo con el ejemplo de nuestro perro bastará conque escribamos así: kevin.ladrar(5) guau! guau! guau! guau! guau! Omitimos el parámetro self , porque es redundante decirle a un perro que ladre como él mismo... (además nos veríamos un poco estúpidos haciéndolo)
69. Programación Orientada a Objetos De cero a Python en 45' Definir los atributos: Como Python es totalmente dinámico, podemos definir los atributos de un objeto en cualquier momento. Solo necesitamos asignar un valor a self.atributo, por ejemplo: class perro : def correr ( self) : self.estado = “Cansado” def descansar ( self) : self.estado = “Descansado”
70. Programación Orientada a Objetos De cero a Python en 45' Para poder ver el valor de un atributo basta con escribir su nombre completo. Es decir, objeto.atributo , por ejemplo: kevin = perro() kevin.correr() kevin.estado 'Cansado' kevin.descansar() kevin.self.estado 'Descansado'
71. Programación Orientada a Objetos De cero a Python en 45' Método constructor: Para preparar el objeto a ser usado y asegurarnos de que su comportamiento sea predecible es conveniente definir los atributos apenas el objeto es instanciado. Eso se puede hacer asignando los valores en el método especial “ __init__ ”. Por ejemplo: class perro : def __init__(self, nombre , raza , altura ) : self.nombre = nombre self.raza = raza self.altura = altura
72.
73. help( objeto ) : Nos muestra toda la información disponible del objeto, incluyendo la documentación intrínseca.
74. isinstance( objeto, clase ) : Permite saber si un objeto en particular es o no instancia de determinada clase.
75. Modulos De cero a Python en 45' La reutilización de código y la extensibilidad del lenguaje fueron una de las premisas más importantes a la hora de diseñar el lenguaje. Python instala, por defecto, una completisima colección de bibliotecas estandar. Su lema es “Viene con las pilas incluidas”.
76. Modulos De cero a Python en 45' Importar y usar un modulo es tan facil como: import os os.system ( “cal” ) Noviembre 2008 lu ma mi ju vi sá do 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
77. Les toca a ustedes... De cero a Python en 45' ¿Preguntas?
78. The end De cero a Python en 45' ¡Muchas gracias! ¡Muchas gracias!