SlideShare uma empresa Scribd logo
1 de 16
Baixar para ler offline
Repaso
          Otros tipos de datos
                                 Repaso
                         Clase
                  Excepciones




  Curso de Introducción a Python
                           Clase 2


         Defossé Nahuel, Pecile Lautaro

                           UNPSJB


                       Agosto 2012




Defossé Nahuel, Pecile Lautaro   Curso de Introducción a Python
Repaso
                     Otros tipos de datos
                                            Repaso
                                    Clase
                             Excepciones




En la clase anterior vimos
    cómo definir una función
    cómo definir una clase
    que los parámetros de las funciones podían tener valores por
    defecto
    que los bloques estaban delimitados por la indentación
    que los comentarios se marcan con #
    que las cadenas se delimitan con comillas simples, dobles o
    triples
    que las listas se delimitan con corchetes, y son dinámicas




           Defossé Nahuel, Pecile Lautaro   Curso de Introducción a Python
Repaso
                 Otros tipos de datos
                                        Repaso
                                Clase
                         Excepciones




que en Python hay referencias a objetos en la memoria que se
agrupan en el espacio de nombres
que los métodos de una clase llevan explícito el primer
parámetro llamado self
que la si la primer línea de una función (o método) es una
cadena, se la toma como documentación.
cómo abrir, leer, escribir y cerrar archivos




       Defossé Nahuel, Pecile Lautaro   Curso de Introducción a Python
Repaso
                         Otros tipos de datos
                                                Diccionarios
                                        Clase
                                 Excepciones


Diccionarios



   Los diccionarios son tipos de datos que asocian clave = valor .
   Donde clave puede ser tipo de datos inmutable (enteros, cadenas,
   conjuntos, tuplas) y valor cualquier cosa.
   a = {}
   a[’nombre’] = ’pedro’
   a[’edad’] = 23
   # Tambien podemos crearlo con el tipo
   b = dict()




               Defossé Nahuel, Pecile Lautaro   Curso de Introducción a Python
Repaso
                        Otros tipos de datos
                                               Diccionarios
                                       Clase
                                Excepciones


Iteracción de diccionarios


   Así como con listas podemos iterar de esta manera:
   lista = ["hola", "mundo", "python"]
   for valor in lista:
       hacer_algo(valor)
   Si hacemos esto con un diccionario, recorremos solo las claves.
   Para que podamos iterar de a par clave, valor:
   for clave, valor in a.iteritems():
       print clave, "=>", valor




              Defossé Nahuel, Pecile Lautaro   Curso de Introducción a Python
Repaso
                        Otros tipos de datos
                                               Diccionarios
                                       Clase
                                Excepciones


Otras formas de usar un diccionario



   Podemos iterar sobre las claves o valores con los métodos
   iteritems() o iterkeys().
   También podemos preguntar si tenemos una clave en un diccionario.
   if ’nombre’ in un_diccionario:
       print "Tengo nombre y vale", un_diccionario[’nombre’]




              Defossé Nahuel, Pecile Lautaro   Curso de Introducción a Python
Repaso
                       Otros tipos de datos
                                              Módulos
                                      Clase
                               Excepciones


Módulos


  Un módulo es simplemente un archivo con extensión .py que
  contiene código Python. Es la forma básica de agrupar código en
  Python.
      El nombre del módulo es el nombre del archivo.
      Si la primer línea que no es un comentario es una cadena, se la
      tomará como la documentación del módulo.
      En la primer línea también podemos especificar la codificación
      del módulo.




             Defossé Nahuel, Pecile Lautaro   Curso de Introducción a Python
Repaso
                      Otros tipos de datos
                                             Módulos
                                     Clase
                              Excepciones


Importando módulos



      Un módulo se incorpora a nuestro espacio de nombres con la
      palabra reservada import.
      Los módulos se cargan (interpretan) una sóla vez, aunque sólo
      importemos parte de ellos.
      Si realizamos un cambio a un módulo mientras está
      importado, deberemos aplicar los cambios recargándolo. Esto
      se realiza con la función reload()




            Defossé Nahuel, Pecile Lautaro   Curso de Introducción a Python
Repaso
                Otros tipos de datos
                                       Módulos
                               Clase
                        Excepciones




También podemos importar partes específicas de un módulo
mediante from <modulo> import <nombre>
Es importante mantener limpio nuestro espacio de nombres.




      Defossé Nahuel, Pecile Lautaro   Curso de Introducción a Python
Repaso
                Otros tipos de datos
                                       Módulos
                               Clase
                        Excepciones




Podemos “ejecutar” un módulo como si fuese un programa,
consultando si nuestro módulo se llama “__main__”.




      Defossé Nahuel, Pecile Lautaro   Curso de Introducción a Python
Repaso
                       Otros tipos de datos
                                              Módulos
                                      Clase
                               Excepciones


El main de C/Java en Python

   import sys

   def main(args=sys.argv):
       print "El main"

   if __name__ == "__main__":
       sys.exit(main())
   De esta manera,
       Fijamos los argumentos de main con los argumentos que pase
       el usuario
       Evitamos que la importación ejecute a main
       Devolvemos la salida como código de salida para entrnos
       UNIX.
             Defossé Nahuel, Pecile Lautaro   Curso de Introducción a Python
Repaso
                        Otros tipos de datos
                                       Clase
                                Excepciones


Excepciones



      Una excepción es un estado anómalo del programa, detectado
      por Python en tiempo de ejecución.
      Una excepción lanzada debe ser capturada por alguien dentro
      de la pila de llamadas.
      Por defecto, Python muestra el mensaje de la excepción y
      detiene la ejecución si nadie la captura.




              Defossé Nahuel, Pecile Lautaro   Curso de Introducción a Python
Repaso
                     Otros tipos de datos
                                    Clase
                             Excepciones




Para manejar excepciones, Python brinda la estructura de control
try/except/else/finally.
    en el bloque try se intentará ejecutar código que puede lanzar
    excepciones.
    en el bloque except se encuentra el código para manejar un
    tipo de excepción determinado. Pueden existir múltiples
    bloques except. Se ejecuta el primer bloque que corresponda
    a la jerarqúa de la excepción.
    el bloque else contiene código que se ejecutará en caso de
    que no ocurra ninguna excepción.
    el bloque finally se ejecutará en cualquier caso.



           Defossé Nahuel, Pecile Lautaro   Curso de Introducción a Python
Repaso
                      Otros tipos de datos
                                     Clase
                              Excepciones


Ejemplo



   try:
       hacer_algo()
   except ValueError:
       print "Algo no me gusto"
   except IndexError as err:
       print "Paso %s" % err
   finally:
       print "Me ejecuto siempre"




            Defossé Nahuel, Pecile Lautaro   Curso de Introducción a Python
Repaso
                      Otros tipos de datos
                                     Clase
                              Excepciones


Ejemplo



   # En el cuerpo de alguna funcion
   try:
        hacer_algo()
   except AlgoSalioMalException:
        print "Algo no me gusto"
        return False
   else:
        return True




            Defossé Nahuel, Pecile Lautaro   Curso de Introducción a Python
Repaso
                Otros tipos de datos
                               Clase
                        Excepciones




Las excepciones son objetos también. Mas específicamente,
son instancias de Exception o alguna de sus subclases.
class MiExcepcion(Exception):
    pass #
Las excepciones instanciadas se pueden lanzar con la palabra
reservada raise.
if "funcionaa!" in sys.argv:
     raise MiExcepcion("Mal chabon, mal")




      Defossé Nahuel, Pecile Lautaro   Curso de Introducción a Python

Mais conteúdo relacionado

Mais procurados

Lenguajes de programación
Lenguajes de programaciónLenguajes de programación
Lenguajes de programación
rulo182
 
python programming learning
python programming learningpython programming learning
python programming learning
m0n0lithic
 

Mais procurados (20)

Cap%c3%8 dtulo+1+programacion+orientada+a+objetos
Cap%c3%8 dtulo+1+programacion+orientada+a+objetosCap%c3%8 dtulo+1+programacion+orientada+a+objetos
Cap%c3%8 dtulo+1+programacion+orientada+a+objetos
 
Python básico I
Python básico IPython básico I
Python básico I
 
Python no muerde
Python  no muerdePython  no muerde
Python no muerde
 
Python (Lenguaje de Programación)
Python (Lenguaje de Programación)Python (Lenguaje de Programación)
Python (Lenguaje de Programación)
 
01 el lenguaje Python
01 el lenguaje Python01 el lenguaje Python
01 el lenguaje Python
 
Python i
Python iPython i
Python i
 
Apoo v
Apoo vApoo v
Apoo v
 
Python
PythonPython
Python
 
Programación de Videojuegos con Python y Pilas (I)
Programación de Videojuegos con Python y Pilas (I)Programación de Videojuegos con Python y Pilas (I)
Programación de Videojuegos con Python y Pilas (I)
 
Argentina Programa Apendix parte 1.pdf
Argentina Programa Apendix parte 1.pdfArgentina Programa Apendix parte 1.pdf
Argentina Programa Apendix parte 1.pdf
 
Argentina Programa Apendix parte 3.pdf
Argentina Programa Apendix parte 3.pdfArgentina Programa Apendix parte 3.pdf
Argentina Programa Apendix parte 3.pdf
 
Argentina Programa Apendix parte 2.pdf
Argentina Programa Apendix parte 2.pdfArgentina Programa Apendix parte 2.pdf
Argentina Programa Apendix parte 2.pdf
 
Lenguajes de programación
Lenguajes de programaciónLenguajes de programación
Lenguajes de programación
 
Java Sobrecarga y Recursividad
Java Sobrecarga y RecursividadJava Sobrecarga y Recursividad
Java Sobrecarga y Recursividad
 
Python (ejercicios)
Python (ejercicios)Python (ejercicios)
Python (ejercicios)
 
LibreríAs De Java
LibreríAs De JavaLibreríAs De Java
LibreríAs De Java
 
Python para principiantes
Python para principiantesPython para principiantes
Python para principiantes
 
python programming learning
python programming learningpython programming learning
python programming learning
 
Lenguaje phython
Lenguaje phythonLenguaje phython
Lenguaje phython
 
Clase 4 JAVA 2012
Clase 4 JAVA 2012Clase 4 JAVA 2012
Clase 4 JAVA 2012
 

Destaque

Presentación1
Presentación1Presentación1
Presentación1
chikijams
 
Tabla con formulas y graficas 10.1
Tabla con formulas y graficas 10.1Tabla con formulas y graficas 10.1
Tabla con formulas y graficas 10.1
berruguita4
 
Act. 3
Act. 3Act. 3
Act. 3
UCP
 
Historia del reggae
Historia del reggaeHistoria del reggae
Historia del reggae
JULIyVIVIZ
 
Periférico de entrada de Datos
Periférico de entrada de DatosPeriférico de entrada de Datos
Periférico de entrada de Datos
LeiiDy QuiinteRoo
 
Diseocurricularnacionalmodificadoporrm 150327115846-conversion-gate01
Diseocurricularnacionalmodificadoporrm 150327115846-conversion-gate01Diseocurricularnacionalmodificadoporrm 150327115846-conversion-gate01
Diseocurricularnacionalmodificadoporrm 150327115846-conversion-gate01
Isela Guerrero Pacheco
 
Felix cumpleaños...cristian
Felix cumpleaños...cristianFelix cumpleaños...cristian
Felix cumpleaños...cristian
Krixtiankaxtro
 
Gestion talento-humano-organizaciones
Gestion talento-humano-organizacionesGestion talento-humano-organizaciones
Gestion talento-humano-organizaciones
lesliejohana
 

Destaque (20)

Uag para usuarios
Uag   para usuariosUag   para usuarios
Uag para usuarios
 
5 sentidos
5 sentidos5 sentidos
5 sentidos
 
15 Mi de consumidores ficaram inadimplentes após emprestarem o nome a terceiros
15 Mi de consumidores ficaram inadimplentes após emprestarem o nome a terceiros15 Mi de consumidores ficaram inadimplentes após emprestarem o nome a terceiros
15 Mi de consumidores ficaram inadimplentes após emprestarem o nome a terceiros
 
Presentación1
Presentación1Presentación1
Presentación1
 
Las divas
Las divasLas divas
Las divas
 
la violencia y el aprendizaje de los estudiantes
la violencia  y el aprendizaje de los estudiantesla violencia  y el aprendizaje de los estudiantes
la violencia y el aprendizaje de los estudiantes
 
Tabla con formulas y graficas 10.1
Tabla con formulas y graficas 10.1Tabla con formulas y graficas 10.1
Tabla con formulas y graficas 10.1
 
Preciado con vega barranquilla
Preciado con vega barranquillaPreciado con vega barranquilla
Preciado con vega barranquilla
 
Proyecto 2º secundaria
Proyecto 2º secundariaProyecto 2º secundaria
Proyecto 2º secundaria
 
Aula - Oriente Médio
Aula - Oriente MédioAula - Oriente Médio
Aula - Oriente Médio
 
Act. 3
Act. 3Act. 3
Act. 3
 
I Encontro de Chefes de Residência em Urologia
I Encontro de Chefes de Residência em UrologiaI Encontro de Chefes de Residência em Urologia
I Encontro de Chefes de Residência em Urologia
 
Cambio de bases_numericas2
Cambio de bases_numericas2Cambio de bases_numericas2
Cambio de bases_numericas2
 
Historia del reggae
Historia del reggaeHistoria del reggae
Historia del reggae
 
Periférico de entrada de Datos
Periférico de entrada de DatosPeriférico de entrada de Datos
Periférico de entrada de Datos
 
Diseocurricularnacionalmodificadoporrm 150327115846-conversion-gate01
Diseocurricularnacionalmodificadoporrm 150327115846-conversion-gate01Diseocurricularnacionalmodificadoporrm 150327115846-conversion-gate01
Diseocurricularnacionalmodificadoporrm 150327115846-conversion-gate01
 
Felix cumpleaños...cristian
Felix cumpleaños...cristianFelix cumpleaños...cristian
Felix cumpleaños...cristian
 
Gestion talento-humano-organizaciones
Gestion talento-humano-organizacionesGestion talento-humano-organizaciones
Gestion talento-humano-organizaciones
 
Um objeto matemático e o geogebra
Um objeto matemático e o geogebraUm objeto matemático e o geogebra
Um objeto matemático e o geogebra
 
Daniel
DanielDaniel
Daniel
 

Semelhante a Clase 2/4 Curso Introducción a Python 2012

5. otros aspectos de la programación orientada a objetos
5. otros aspectos de la programación orientada a objetos5. otros aspectos de la programación orientada a objetos
5. otros aspectos de la programación orientada a objetos
HectorMamani
 
Python 3
Python 3Python 3
Python 3
CHREAR
 
Desarrollo de Aplicaciones Web II - Sesión 05 - Evolución de los lenguajes PO...
Desarrollo de Aplicaciones Web II - Sesión 05 - Evolución de los lenguajes PO...Desarrollo de Aplicaciones Web II - Sesión 05 - Evolución de los lenguajes PO...
Desarrollo de Aplicaciones Web II - Sesión 05 - Evolución de los lenguajes PO...
Didier Granados
 
Revista java world cap 8,9,10
Revista java world cap 8,9,10Revista java world cap 8,9,10
Revista java world cap 8,9,10
Hack '
 
2introduccionallenguajejava 141109171757-conversion-gate02
2introduccionallenguajejava 141109171757-conversion-gate022introduccionallenguajejava 141109171757-conversion-gate02
2introduccionallenguajejava 141109171757-conversion-gate02
Krizztiina Pacheko
 

Semelhante a Clase 2/4 Curso Introducción a Python 2012 (20)

Investigacion de Python.pptx
Investigacion de Python.pptxInvestigacion de Python.pptx
Investigacion de Python.pptx
 
Clase4_Python-CTIC
Clase4_Python-CTICClase4_Python-CTIC
Clase4_Python-CTIC
 
02 python Programación orientada a objetos y funcional
02 python Programación orientada a objetos y funcional02 python Programación orientada a objetos y funcional
02 python Programación orientada a objetos y funcional
 
Desarrollar un módulo para Visuse
Desarrollar un módulo para VisuseDesarrollar un módulo para Visuse
Desarrollar un módulo para Visuse
 
Curso sobre Python
Curso sobre PythonCurso sobre Python
Curso sobre Python
 
5. otros aspectos de la programación orientada a objetos
5. otros aspectos de la programación orientada a objetos5. otros aspectos de la programación orientada a objetos
5. otros aspectos de la programación orientada a objetos
 
Calse 3 JAVA 2012
Calse 3 JAVA 2012Calse 3 JAVA 2012
Calse 3 JAVA 2012
 
Curso Java Inicial 4 Poo En Java
Curso Java Inicial   4 Poo En JavaCurso Java Inicial   4 Poo En Java
Curso Java Inicial 4 Poo En Java
 
Programacion Orientada a Objetos en python
Programacion Orientada a Objetos en pythonProgramacion Orientada a Objetos en python
Programacion Orientada a Objetos en python
 
Python 3
Python 3Python 3
Python 3
 
Unidad_01_01.pdf
Unidad_01_01.pdfUnidad_01_01.pdf
Unidad_01_01.pdf
 
Fundamentos de Java / 15 consejos prácticos sobre Java que cambiarán la for...
Fundamentos de Java /   15 consejos prácticos sobre Java que cambiarán la for...Fundamentos de Java /   15 consejos prácticos sobre Java que cambiarán la for...
Fundamentos de Java / 15 consejos prácticos sobre Java que cambiarán la for...
 
Java fundamentos 15 consejos prácticos - ITLA Tech Day 2018
Java fundamentos   15 consejos prácticos - ITLA Tech Day 2018Java fundamentos   15 consejos prácticos - ITLA Tech Day 2018
Java fundamentos 15 consejos prácticos - ITLA Tech Day 2018
 
lenguajejava.pptx
lenguajejava.pptxlenguajejava.pptx
lenguajejava.pptx
 
Desarrollo de Aplicaciones Web II - Sesión 05 - Evolución de los lenguajes PO...
Desarrollo de Aplicaciones Web II - Sesión 05 - Evolución de los lenguajes PO...Desarrollo de Aplicaciones Web II - Sesión 05 - Evolución de los lenguajes PO...
Desarrollo de Aplicaciones Web II - Sesión 05 - Evolución de los lenguajes PO...
 
2.android java
2.android   java2.android   java
2.android java
 
Curso Java Inicial 7 Excepciones
Curso Java Inicial   7 ExcepcionesCurso Java Inicial   7 Excepciones
Curso Java Inicial 7 Excepciones
 
Revista java world cap 8,9,10
Revista java world cap 8,9,10Revista java world cap 8,9,10
Revista java world cap 8,9,10
 
Unidad 2 ProgramacióN Orientada A Objetos (Repaso)
Unidad 2 ProgramacióN Orientada A Objetos (Repaso)Unidad 2 ProgramacióN Orientada A Objetos (Repaso)
Unidad 2 ProgramacióN Orientada A Objetos (Repaso)
 
2introduccionallenguajejava 141109171757-conversion-gate02
2introduccionallenguajejava 141109171757-conversion-gate022introduccionallenguajejava 141109171757-conversion-gate02
2introduccionallenguajejava 141109171757-conversion-gate02
 

Último

6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria
Wilian24
 
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACIONRESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
amelia poma
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
EliaHernndez7
 

Último (20)

PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docxPLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
 
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptxCONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
 
Ensayo Paes competencia matematicas 2 Preuniversitario
Ensayo Paes competencia matematicas 2 PreuniversitarioEnsayo Paes competencia matematicas 2 Preuniversitario
Ensayo Paes competencia matematicas 2 Preuniversitario
 
Desarrollo y Aplicación de la Administración por Valores
Desarrollo y Aplicación de la Administración por ValoresDesarrollo y Aplicación de la Administración por Valores
Desarrollo y Aplicación de la Administración por Valores
 
6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria
 
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACIONRESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
 
Código Civil de la República Bolivariana de Venezuela
Código Civil de la República Bolivariana de VenezuelaCódigo Civil de la República Bolivariana de Venezuela
Código Civil de la República Bolivariana de Venezuela
 
Tema 11. Dinámica de la hidrosfera 2024
Tema 11.  Dinámica de la hidrosfera 2024Tema 11.  Dinámica de la hidrosfera 2024
Tema 11. Dinámica de la hidrosfera 2024
 
animalesdelaproincia de beunos aires.pdf
animalesdelaproincia de beunos aires.pdfanimalesdelaproincia de beunos aires.pdf
animalesdelaproincia de beunos aires.pdf
 
PP_Comunicacion en Salud: Objetivación de signos y síntomas
PP_Comunicacion en Salud: Objetivación de signos y síntomasPP_Comunicacion en Salud: Objetivación de signos y síntomas
PP_Comunicacion en Salud: Objetivación de signos y síntomas
 
Lecciones 06 Esc. Sabática. Los dos testigos
Lecciones 06 Esc. Sabática. Los dos testigosLecciones 06 Esc. Sabática. Los dos testigos
Lecciones 06 Esc. Sabática. Los dos testigos
 
Sesión de clase APC: Los dos testigos.pdf
Sesión de clase APC: Los dos testigos.pdfSesión de clase APC: Los dos testigos.pdf
Sesión de clase APC: Los dos testigos.pdf
 
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
 
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdfPlan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
 
UNIDAD DIDACTICA nivel inicial EL SUPERMERCADO.docx
UNIDAD DIDACTICA nivel inicial EL SUPERMERCADO.docxUNIDAD DIDACTICA nivel inicial EL SUPERMERCADO.docx
UNIDAD DIDACTICA nivel inicial EL SUPERMERCADO.docx
 
Novena de Pentecostés con textos de san Juan Eudes
Novena de Pentecostés con textos de san Juan EudesNovena de Pentecostés con textos de san Juan Eudes
Novena de Pentecostés con textos de san Juan Eudes
 
Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024
 
Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024
 

Clase 2/4 Curso Introducción a Python 2012

  • 1. Repaso Otros tipos de datos Repaso Clase Excepciones Curso de Introducción a Python Clase 2 Defossé Nahuel, Pecile Lautaro UNPSJB Agosto 2012 Defossé Nahuel, Pecile Lautaro Curso de Introducción a Python
  • 2. Repaso Otros tipos de datos Repaso Clase Excepciones En la clase anterior vimos cómo definir una función cómo definir una clase que los parámetros de las funciones podían tener valores por defecto que los bloques estaban delimitados por la indentación que los comentarios se marcan con # que las cadenas se delimitan con comillas simples, dobles o triples que las listas se delimitan con corchetes, y son dinámicas Defossé Nahuel, Pecile Lautaro Curso de Introducción a Python
  • 3. Repaso Otros tipos de datos Repaso Clase Excepciones que en Python hay referencias a objetos en la memoria que se agrupan en el espacio de nombres que los métodos de una clase llevan explícito el primer parámetro llamado self que la si la primer línea de una función (o método) es una cadena, se la toma como documentación. cómo abrir, leer, escribir y cerrar archivos Defossé Nahuel, Pecile Lautaro Curso de Introducción a Python
  • 4. Repaso Otros tipos de datos Diccionarios Clase Excepciones Diccionarios Los diccionarios son tipos de datos que asocian clave = valor . Donde clave puede ser tipo de datos inmutable (enteros, cadenas, conjuntos, tuplas) y valor cualquier cosa. a = {} a[’nombre’] = ’pedro’ a[’edad’] = 23 # Tambien podemos crearlo con el tipo b = dict() Defossé Nahuel, Pecile Lautaro Curso de Introducción a Python
  • 5. Repaso Otros tipos de datos Diccionarios Clase Excepciones Iteracción de diccionarios Así como con listas podemos iterar de esta manera: lista = ["hola", "mundo", "python"] for valor in lista: hacer_algo(valor) Si hacemos esto con un diccionario, recorremos solo las claves. Para que podamos iterar de a par clave, valor: for clave, valor in a.iteritems(): print clave, "=>", valor Defossé Nahuel, Pecile Lautaro Curso de Introducción a Python
  • 6. Repaso Otros tipos de datos Diccionarios Clase Excepciones Otras formas de usar un diccionario Podemos iterar sobre las claves o valores con los métodos iteritems() o iterkeys(). También podemos preguntar si tenemos una clave en un diccionario. if ’nombre’ in un_diccionario: print "Tengo nombre y vale", un_diccionario[’nombre’] Defossé Nahuel, Pecile Lautaro Curso de Introducción a Python
  • 7. Repaso Otros tipos de datos Módulos Clase Excepciones Módulos Un módulo es simplemente un archivo con extensión .py que contiene código Python. Es la forma básica de agrupar código en Python. El nombre del módulo es el nombre del archivo. Si la primer línea que no es un comentario es una cadena, se la tomará como la documentación del módulo. En la primer línea también podemos especificar la codificación del módulo. Defossé Nahuel, Pecile Lautaro Curso de Introducción a Python
  • 8. Repaso Otros tipos de datos Módulos Clase Excepciones Importando módulos Un módulo se incorpora a nuestro espacio de nombres con la palabra reservada import. Los módulos se cargan (interpretan) una sóla vez, aunque sólo importemos parte de ellos. Si realizamos un cambio a un módulo mientras está importado, deberemos aplicar los cambios recargándolo. Esto se realiza con la función reload() Defossé Nahuel, Pecile Lautaro Curso de Introducción a Python
  • 9. Repaso Otros tipos de datos Módulos Clase Excepciones También podemos importar partes específicas de un módulo mediante from <modulo> import <nombre> Es importante mantener limpio nuestro espacio de nombres. Defossé Nahuel, Pecile Lautaro Curso de Introducción a Python
  • 10. Repaso Otros tipos de datos Módulos Clase Excepciones Podemos “ejecutar” un módulo como si fuese un programa, consultando si nuestro módulo se llama “__main__”. Defossé Nahuel, Pecile Lautaro Curso de Introducción a Python
  • 11. Repaso Otros tipos de datos Módulos Clase Excepciones El main de C/Java en Python import sys def main(args=sys.argv): print "El main" if __name__ == "__main__": sys.exit(main()) De esta manera, Fijamos los argumentos de main con los argumentos que pase el usuario Evitamos que la importación ejecute a main Devolvemos la salida como código de salida para entrnos UNIX. Defossé Nahuel, Pecile Lautaro Curso de Introducción a Python
  • 12. Repaso Otros tipos de datos Clase Excepciones Excepciones Una excepción es un estado anómalo del programa, detectado por Python en tiempo de ejecución. Una excepción lanzada debe ser capturada por alguien dentro de la pila de llamadas. Por defecto, Python muestra el mensaje de la excepción y detiene la ejecución si nadie la captura. Defossé Nahuel, Pecile Lautaro Curso de Introducción a Python
  • 13. Repaso Otros tipos de datos Clase Excepciones Para manejar excepciones, Python brinda la estructura de control try/except/else/finally. en el bloque try se intentará ejecutar código que puede lanzar excepciones. en el bloque except se encuentra el código para manejar un tipo de excepción determinado. Pueden existir múltiples bloques except. Se ejecuta el primer bloque que corresponda a la jerarqúa de la excepción. el bloque else contiene código que se ejecutará en caso de que no ocurra ninguna excepción. el bloque finally se ejecutará en cualquier caso. Defossé Nahuel, Pecile Lautaro Curso de Introducción a Python
  • 14. Repaso Otros tipos de datos Clase Excepciones Ejemplo try: hacer_algo() except ValueError: print "Algo no me gusto" except IndexError as err: print "Paso %s" % err finally: print "Me ejecuto siempre" Defossé Nahuel, Pecile Lautaro Curso de Introducción a Python
  • 15. Repaso Otros tipos de datos Clase Excepciones Ejemplo # En el cuerpo de alguna funcion try: hacer_algo() except AlgoSalioMalException: print "Algo no me gusto" return False else: return True Defossé Nahuel, Pecile Lautaro Curso de Introducción a Python
  • 16. Repaso Otros tipos de datos Clase Excepciones Las excepciones son objetos también. Mas específicamente, son instancias de Exception o alguna de sus subclases. class MiExcepcion(Exception): pass # Las excepciones instanciadas se pueden lanzar con la palabra reservada raise. if "funcionaa!" in sys.argv: raise MiExcepcion("Mal chabon, mal") Defossé Nahuel, Pecile Lautaro Curso de Introducción a Python