Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥

Ayudantía 8 Programación Python

Gonzalo Correa
February 26, 2012

Ayudantía 8 Programación Python

Ayudantía 8 Programación Python en la USM, 2011-2. Repaso de la materia vista: funciones, listas, tuplas, diccionarios, conjuntos, y estructuras de datos anidadas. Además de conceptos básicos, se repasan los conceptos de mutabilidad e iterabilidad, además de ver expresiones para manipulación de cada tipo de estructura.

Gonzalo Correa

February 26, 2012
Tweet

More Decks by Gonzalo Correa

Other Decks in Education

Transcript

  1. http://www.burns-brick-country.com/lego-blocks.html 3 domingo 26 de febrero de 12 Las funciones

    son como bloques de LEGO. Tienen una forma y color definidos que de alguna manera definen su uso, y podemos reutilizarlos cuantas veces queramos en distintas figuras.
  2. http://www.andertoons.com/cartoon-blog/2010/11/lego-robot-santa-claus.html 4 domingo 26 de febrero de 12 Al usar

    una función en un programa específico, esta nos da el resultado que queremos, pero...
  3. © Angus MacLane, http://www.flickr.com/photos/27826007@N05/3573907078/in/set-72157618838085627/ 5 domingo 26 de febrero de

    12 Podemos usar la misma función en otros programas absolutamente distintos... y funciona! Esta es una de las filosofías mas importantes de las funciones: bloques de código reutilizables.
  4. Funciones Definición Retorno 6 domingo 26 de febrero de 12

    Las funciones tiene una definición, que indica el nombre de la función y como se llamaran las variables que guardaran los parámetros a utilizar. En el ejemplo, a y b serán dos números enteros a los cuáles se les buscará el Mínimo Común Divisor. Además, las funciones tienen el código (cuerpo) que realizará todo algoritmo y/o procedimiento que hayamos definido. En este caso, es el algoritmo que buscará el MCD de ‘a’ y ‘b’. Finalmente, la función tiene un retorno, que devuelve el resultado o valor resultante del código o cuerpo de la función. En el ejemplo, el MCD encontrado.
  5. Módulos Para utilizar función en un módulo Función debe estar

    en archivo aislado (ej: math_library.py) En el programa en que necesitemos usar la función, usamos Para usar la función presente en el módulo 7 domingo 26 de febrero de 12 Otras formas de importar modulos: - from NOMBRE_MODULO import * ==> Importa todas las funciones desde el modulo NOMBRE_MODULO. Las funciones se llaman por su nombre directamente - import NOMBRE_MODULO ==> Importa el módulo completo, y las funciones se usan como NOMBRE_MODULO.nombre_funcion
  6. Objetos Inmutables 10 domingo 26 de febrero de 12 La

    variable ‘a’ nunca cambia su valor, a menos que se haga una asignación explícita, como ‘a = 1’.
  7. Objetos Mutables 11 domingo 26 de febrero de 12 La

    variable ‘a’ cambia su valor dinámicamente con cada operación, no siendo necesario hacer una asignación explícita (ni tampoco es necesario hacerlo!)
  8. 16 domingo 26 de febrero de 12 La lista es

    modificada sin crear un nuevo objeto, modificando directamente la variable ‘lista’, lo que la define como mutable. La capacidad de poder recorrerla y obtener cada uno de sus elementos la hace iterable.
  9. Se está agregando a ‘lista’ una lista con tres enteros,

    un string y una lista con un string dentro... LISTCEPTION 18 domingo 26 de febrero de 12 El método append() esta agregando un nuevo elemento al final de la lista ‘lista’. Este nuevo elemento es una lista (mutable) con tres números enteros (inmutables), un string (inmutable) y una lista (mutable) con un string dentro (inmutable)
  10. Respuestas 1. <int> 4 2. <int> 22 3. <int> 5

    4. <bool> False 5. <int> 3 6. <int> 2 7. <int> 3 8. <list> [6, 7] 9. <int> 7 10.<list> [[6, 7], 'jirafa', 'elefante'] 11.<list> [9, 0] 12.<list> [9] 13.<int> 2 14.<int> 2 15.<int> 4 16.<complex> (3+4j) 21 domingo 26 de febrero de 12 En el 16 tenían razón! los complejos son con ‘j’!
  11. Respuestas 1. <bool> True 2. <int> 12 3. <tuple> (27,

    3, 2, 10, 1991) 4. <int> 2 5. <int> 10 6. <str> ‘D’ 7. <tuple> (27, 9) 8. <tupe> (2, 10, 1991, 12, 1990) 9. <tuple> (10, 1991, 25, 12) 10.<str> ‘19911990’ 11.<str> ‘3981’ 12.<str> ‘1991’ 13.<str> ‘,’ (una coma) 27 domingo 26 de febrero de 12
  12. Respuestas 1. <int> 88 2. KeyError: 23 3. <bool> False

    4. <bool> False 5. <bool> True 6. <bool> False 7. <int> 65 8. <int> 0 9. <int> 3 10.<int> 3 11.<int> 3 12.<int> 3 13.<int> 125 14.<int> 10 15.<list> [2, 3, 4, 6, 7, 8, 9, 11] 16.<int> 4 33 domingo 26 de febrero de 12 En el 2, la llave 23 <int> no existe en el diccionario.
  13. Respuestas 1. <int> 5 2. <int> 8 3. <set> set([3,

    5]) 4. <set> set([1, 3, 5, 6, 7, 8]) 5. <set> set([8, 1, 6, 7]) 6. <tuple> (4, 5) 7. <bool> True 8. <set> set([2, 3]) 9. <bool> True 10.<int> 4 11.<int> 1 39 domingo 26 de febrero de 12
  14. O simplemente tener un tipo de estructura dentro de otra

    42 domingo 26 de febrero de 12 Esta es la razón del ‘anidado’ en el nombre. Un ejemplo es un conjunto de tuplas.
  15. 1. <int> 3 2. <set> set([1, 3]) 3. <dict> {}

    4. <tuple> (1, 2) 5. <int> 2 6. <set> set([3]) 7. <list> [set([1, 2]), set([3]), set([1, 3])] 8. <list> [set([1, 2]), set([3]), set([1, 3])] 9. <int> 3 10. <int> 2 11. <set> set([3]) 12. <set> set([1, 2]) 13. <int> 3 14. <int> 1 15. <set> set([1]) 16. <set> set([2, 3]) Respuestas 45 domingo 26 de febrero de 12
  16. Resumen Estructuras de Datos Mutable? Tipos de Valores Listas Si

    (In)Mutables Tuplas No (In)Mutables Diccionarios Si K: Inmutable V: (In)Mutable Conjuntos Si Inmutables K: Key (Llave), V: Value (Valor) 46 domingo 26 de febrero de 12