SlideShare una empresa de Scribd logo
1 de 31
PYTHON


         Tecnología Informática
             2011-2012/II
¿Qué es Python?
●
    Python es un lenguaje de programación
    dinámica muy poderoso.
●
    Creado por Guido Van Rossum en 1991.
●
    Comparado con Perl, Ruby, Java.
●
    Sintaxis muy limpia que favorece un código
    legible.
Características principales
●
    Lenguaje de alto nivel
●
    Orientado a objetos
●
    Propósito general
●
    Interpretado
●
    Scripting
●
    Sintaxis sencilla
●
    Código independiente de máquina
Propiedades
Tipado Dinámico


●
    No es necesario declarar el tipo de dato que
    va a contener una determinada variable.
●
    El tipo se determinará en tiempo de ejecución.
●
    El tipo puede cambiar si se asigna un valor
    diferente.
Propiedades
Fuertemente Tipado


●
    Los tipos son estrictos.
●
    No se puede tratar una variable como si fuera
    de un tipo distinto al que tiene.
●
    Si tiene un entero, no puede tratarlo como una
    cadena de texto sin convertirlo explícitamente.
●
    Ej: Sumar la cadena “1” y el entero 2
¿Por qué se usa?
●
    Es un lenguaje “limpio”, tiene una sintaxis
    legible.
●
    Lenguaje muy parecido al pseudocódigo.
●
    Recomendado para empezar a programar.
●
    Software libre.
●
    Se puede resolver un problema en cualquier
    ámbito.
¿Por qué se usa?
●
    La cantidad de librerías que contiene, tipos de
    datos y funciones incorporadas en el propio
    lenguaje.
●
    La sencillez y velocidad con la que se crean
    los programas. Un programa en Python puede
    tener de 3 a 5 líneas de código menos que su
    equivalente en Java o C.
●
    La cantidad de plataformas en las que se
    puede desarrollar, como Unix, Windows,
    OS/2, Mac y otros.
●
    Amplia y buena documentación en línea.
Aplicaciones
●
    Desarrollo Web e Internet
●
    Bases de Datos
●
    Desarrollo Software
●
    Juegos y Gráficos 3D
●
    Bioinformática
●
    Física
●
    Educación
Casos de éxito
Sentencias y bloques
●
    Las sentencias acaban con una nueva linea
●
    Es posible concatenar sentencias con ';'
●
    Los bloques son indicados por tabulador que
    sigue a una sentencia terminada en ':'
      Python                       C

      if x:                        if (x){
               if y:                      if (y){
                       accionx+y                 accionx+y
               else:                      }
                       accionx-y          else{
                                                 accionx-y
                                          }
                                   }
Identificadores
●
    Los identificadores sirven para nombrar
    variables, funciones y módulos
    ●
        Deben comenzar con un carácter no numérico y
        pueden contener letras, números y '_'
●
    Variables y funciones delimitadas por '__'
    corresponden a símbolos implícitamente
    definidos
    ●
        __name__ nombre de la función
    ●
        __doc__ documentación sobre una función
    ●
        __init__() constructor de una clase
Palabras reservadas
●
    Son palabras reservadas en Python:
    and      except     is
    elif     import     return
    global   print      def
    or       class      for
    assert   exec       while
    else     in         try
    if       raise      del
    pass     continue   from
    break    finally    not
Variables
●
    No es necesario especificar el tipo de dato de
    la variable
●
    Se usa el símbolo '=' para la asignación
●
    No confundir asignación con igualdad

               >>> a   = 5
               >>> b   = a
               >>> a   = 7
               >>> a   == b
               False
Tipos de datos
●
    Numéricos: integer, long integer, floating point
    y complex
      >>> x = 4
      >>> int (x)
      4
      >>> long(x)
      4L
      >>> float(x)
      4.0
      >>> complex (4, .2)
      (4+0.2j)

●
    Booleanos: True / False
Tipos de datos II
    ●
        Cadenas de caracteres: string
        ●
            Delimitados por ',” o ”””
        ●
            '%' es el operador de formateo de cadenas
        ●
            Los códigos de escape se expresan con ''
        ●
            Raw strings cadenas sin códigos de escape

               >>> print r'n' # no se 'escapa' n

        ●
            Para poder utilizar caracteres con acento, es
            necesario escribir la siguiente linea al comienzo
            de un programa python:
               # -*- coding: iso-8859-1 -*-
Tipos de datos III
●
    Listas: conjunto ordenado de valores, en el
    cual cada valor va identificado por un indice
    numérico.
    ●
        Los indices comienzan en 0 y terminan en n-1
        donde n es el número total de elementos de la
        lista
    ●
        Las listas se definen entre '[' y ']'
    ●
        Se puede acceder a subconjuntos de la lista
        utilizando el operador ':'
    ●
        Pueden contener cualquier tipo de objetos
Tipos de Datos IV
●
    Listas (2)
    ●
        '+' es el operador de concatenación
    ●
        Para añadir un elemento a una lista se utiliza el
        método insert
    ●
        Se puede usar una lista como una pila con los
        métodos pop y append
Tipos de datos V

●
    Tuplas: Exactamente igual que las listas, pero
    una vez creadas no se pueden modificar
    ●
        Las tuplas se definen entre '(' y ')'
Ejemplos: Datos numéricos
●
    Operadores típicos: +,-,*,/,**

    >>> print 2+2
    4
    >>> print 2/3
    0
    >>> print 2/3.0
    0.666666666667
    >>> print 2*3-1
    5
    >>> print 2*(3-1)
    4
Ejemplos: Booleanos
●
    Operadores relacionales:
    ●
        ==, !=, >, <, >= y <=
●
    Operadores lógicos:
    ●
        and, or y not
    >>> 5 == 5
    True
    >>> 5 == 6
    False
    >>> a = 'test_a'
    >>> True and a
    test_a
    >>> False and b
    False
Ejemplos: string
 >>> print “Hellonworld!”               # carácter de salto de
 línea
 Hello
 World!
 >>> print r”Hellonworld!”              # raw string
 Hellonworld!
 >>> len(“Hello world!”)                 # Métodos disponibles para
 string
 12
 >>> “Hello world!”.upper()
 HELLO WORLD
 >>> “hello world!”.capitalize()
 Hello world!
 >>> “Hello world!”.find('world') # Devuelve la posición
 6
 >>> “Hello world!”.find('python')# Si no se encuentra
 -1
 >>> print “Hello %s!” % 'world'                # Formateo de
 cadenas
 Hello world!
 >>> a = 2/3.0
Ejemplos: Listas
 >>> lista = [1,2,3,4,5]   # definir lista
 >>> len(lista)                         # numero de elementos en la
 lista
 5

 >>> lista[2:4]                         # El segundo índice no se
 incluye en el
 [2,3]                                        # resultado

 >>> lista[len(lista)]           # Provoca error, ya que el mayor
 índice
                                                     # de la lista
 es n-1 = 4

 >>> lista.insert(0,-1)          # insertar -1 en la posición 0
 >>> lista
 [-1,1,2,3,4,5]

 >>> lista.append(5)             # Añadir 5 al final de la lista
 >>> lista.pop()                        # Recuperar el último
 elemento de la
Control de flujo: Condicionales
  a = 5
  b = 4
  if a > b:
         print “a es mayor que b”
  elif a == 5:
         print “a es igual a 5”
  else:
         print “No se ha cumplido”


      ●
          Operadores relacionales:
          ●
              ==, !=, >, <, >= y <=
      ●
          Operadores lógicos:
          ●
              and, or y not
Control de flujo: Ciclos
●
    for se utiliza para iterar sobre los elementos
    de una secuencia.
    ●
        Se puede usar sobre cualquier tipo de datos que
        sea una secuencia (tupla, lista, diccionario)
                lista=[1,2,3]

                for i in lista:
                  print i

                Resultado:
                1
                2
                3
Control de flujo: Ciclos
●
    while ejecuta un bloque de código hasta que
    una condición sea falsa.
●
    Con break podemos salir del ciclo
     lista=[1,2,3]
     i=0
      whilei<3:
       print l i s t a [ i ]
       i=i+1
     Resultado:
     1
     2
     3
Funciones
●
    Una función se define usando la palabra clave
    def
●
    No se especifica un valor de retorno
●
    return devuelve un valor
    >>> def funcion(a,b):
                 sum = a + b
                 return sum
    >>> funcion(2,3)
    5
Funciones
●
    Se le pueden pasar parámetros con valores
    por defecto
    >>> def funcion2(a=2,b=3):
                 sum = a + b
                 return sum
    >>> funcion2()
    5
    >>> funcion2(a=4)
    7

●
    Los parámetros con valores por defecto tienen
    que ir después de los parámetros sin valor por
    defecto
Clases
●
    Una clase contiene una colección de métodos.
    Cada método contiene como primer
    parámetro self que hace referencia a un
    objeto.
    ●
        self equivale a this en C++
●
    En Python se soporta la herencia múltiple.
Módulos
●
    Un módulo es una colección de métodos en
    un archivo que acaba en .py. El nombre del
    archivo determina el nombre del módulo en la
    mayoría de los casos
●
    Ej. Este sería el contenido del archivo test.py
    def test1(a):
           print “test1, parametro: %s” % a
    def test2(b):
           print “test2, parametro: %s” % b


●
    La sentencia import hace que un módulo y su
    contenido estén disponibles para su uso
Módulos
●
    Usando el módulo test.py
    >>> import test
    >>> test.test1(5)
    test1, parametro 5

●
    Formas de uso de import
    # Importa modulo test. Referir a x en test con "test.x".
    import test
    # Importa x de test. Referir a x en test con "x".
    from test import x
    # Importa todos los objetos de test. Referir a x en test con
    "x".
    from test import *
    # Importa test; lo hace disponible como theTest. Referir a
    # objecto x como "theTest.x".
    import test as theTest
Referencias
●
    http://www.python.org
●
    http://diveintopython.org
●
    http://wiki.python.org

Más contenido relacionado

La actualidad más candente

52 ejercicios-resueltos-en-pseudocodigo
52 ejercicios-resueltos-en-pseudocodigo52 ejercicios-resueltos-en-pseudocodigo
52 ejercicios-resueltos-en-pseudocodigoepetekaun
 
Functions in python
Functions in pythonFunctions in python
Functions in pythonIlian Iliev
 
Introduction to Python Pandas for Data Analytics
Introduction to Python Pandas for Data AnalyticsIntroduction to Python Pandas for Data Analytics
Introduction to Python Pandas for Data AnalyticsPhoenix
 
GUI Salario en java con NetBeans
GUI Salario en java con NetBeansGUI Salario en java con NetBeans
GUI Salario en java con NetBeansEmerson Garay
 
11 Curso de POO en java - métodos constructores y toString()
11 Curso de POO en java - métodos constructores y toString()11 Curso de POO en java - métodos constructores y toString()
11 Curso de POO en java - métodos constructores y toString()Clara Patricia Avella Ibañez
 
Intro to Web Development Using Python and Django
Intro to Web Development Using Python and DjangoIntro to Web Development Using Python and Django
Intro to Web Development Using Python and DjangoChariza Pladin
 
Overview of python 2019
Overview of python 2019Overview of python 2019
Overview of python 2019Samir Mohanty
 
Sql DDL Lenguaje de definición de datos
Sql DDL Lenguaje de definición de datosSql DDL Lenguaje de definición de datos
Sql DDL Lenguaje de definición de datosjosecuartas
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacionalLuis Jherry
 
Sql queries presentation
Sql queries presentationSql queries presentation
Sql queries presentationNITISH KUMAR
 
Programacion Orientada a Objetos en python
Programacion Orientada a Objetos en pythonProgramacion Orientada a Objetos en python
Programacion Orientada a Objetos en pythonwozgeass
 

La actualidad más candente (20)

Java script
Java scriptJava script
Java script
 
52 ejercicios-resueltos-en-pseudocodigo
52 ejercicios-resueltos-en-pseudocodigo52 ejercicios-resueltos-en-pseudocodigo
52 ejercicios-resueltos-en-pseudocodigo
 
Functions in python
Functions in pythonFunctions in python
Functions in python
 
Introduction to Python Pandas for Data Analytics
Introduction to Python Pandas for Data AnalyticsIntroduction to Python Pandas for Data Analytics
Introduction to Python Pandas for Data Analytics
 
GUI Salario en java con NetBeans
GUI Salario en java con NetBeansGUI Salario en java con NetBeans
GUI Salario en java con NetBeans
 
Introduction to sql
Introduction to sqlIntroduction to sql
Introduction to sql
 
Procedimientos almacenados
Procedimientos almacenadosProcedimientos almacenados
Procedimientos almacenados
 
Clases y objetos en Java
Clases y objetos en JavaClases y objetos en Java
Clases y objetos en Java
 
11 Curso de POO en java - métodos constructores y toString()
11 Curso de POO en java - métodos constructores y toString()11 Curso de POO en java - métodos constructores y toString()
11 Curso de POO en java - métodos constructores y toString()
 
Intro to Web Development Using Python and Django
Intro to Web Development Using Python and DjangoIntro to Web Development Using Python and Django
Intro to Web Development Using Python and Django
 
Overview of python 2019
Overview of python 2019Overview of python 2019
Overview of python 2019
 
Introduccion a python 3
Introduccion a python 3Introduccion a python 3
Introduccion a python 3
 
Sql DDL Lenguaje de definición de datos
Sql DDL Lenguaje de definición de datosSql DDL Lenguaje de definición de datos
Sql DDL Lenguaje de definición de datos
 
Procedimientos almacenados en MySQL
Procedimientos almacenados en MySQLProcedimientos almacenados en MySQL
Procedimientos almacenados en MySQL
 
Vistas
VistasVistas
Vistas
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacional
 
Fundamentos de Programacion
Fundamentos de ProgramacionFundamentos de Programacion
Fundamentos de Programacion
 
Sql queries presentation
Sql queries presentationSql queries presentation
Sql queries presentation
 
Programacion Orientada a Objetos en python
Programacion Orientada a Objetos en pythonProgramacion Orientada a Objetos en python
Programacion Orientada a Objetos en python
 
Oracle Database Trigger
Oracle Database TriggerOracle Database Trigger
Oracle Database Trigger
 

Destacado

Diapositiva de Cine
Diapositiva de CineDiapositiva de Cine
Diapositiva de Cinespeedyw03
 
Evidencias de la tercera sesión: Programación en Python
Evidencias de la tercera sesión: Programación en PythonEvidencias de la tercera sesión: Programación en Python
Evidencias de la tercera sesión: Programación en Pythonmaluacsa
 
IoT - Internet of Things (Internet de las Cosas)
IoT - Internet of Things (Internet de las Cosas)IoT - Internet of Things (Internet de las Cosas)
IoT - Internet of Things (Internet de las Cosas)Jesse Padilla Agudelo
 
Lenguaje de programación Python.
Lenguaje de programación Python.Lenguaje de programación Python.
Lenguaje de programación Python.Promocatorce
 

Destacado (6)

Diapositiva de Cine
Diapositiva de CineDiapositiva de Cine
Diapositiva de Cine
 
Presentacion Python
Presentacion  Python Presentacion  Python
Presentacion Python
 
Evidencias de la tercera sesión: Programación en Python
Evidencias de la tercera sesión: Programación en PythonEvidencias de la tercera sesión: Programación en Python
Evidencias de la tercera sesión: Programación en Python
 
Python para principiantes
Python para principiantesPython para principiantes
Python para principiantes
 
IoT - Internet of Things (Internet de las Cosas)
IoT - Internet of Things (Internet de las Cosas)IoT - Internet of Things (Internet de las Cosas)
IoT - Internet of Things (Internet de las Cosas)
 
Lenguaje de programación Python.
Lenguaje de programación Python.Lenguaje de programación Python.
Lenguaje de programación Python.
 

Similar a Python (20)

Introducción a la programación en Python
Introducción a la programación en PythonIntroducción a la programación en Python
Introducción a la programación en Python
 
C:\Fakepath\Python}
C:\Fakepath\Python}C:\Fakepath\Python}
C:\Fakepath\Python}
 
Python}
Python}Python}
Python}
 
curso_programacion_python3.pdf
curso_programacion_python3.pdfcurso_programacion_python3.pdf
curso_programacion_python3.pdf
 
Sesion1_Ciencia_de_Datos-Introduccion a Pithon.pdf
Sesion1_Ciencia_de_Datos-Introduccion a Pithon.pdfSesion1_Ciencia_de_Datos-Introduccion a Pithon.pdf
Sesion1_Ciencia_de_Datos-Introduccion a Pithon.pdf
 
Introducción a Python
Introducción a PythonIntroducción a Python
Introducción a Python
 
Curso de Python
Curso de PythonCurso de Python
Curso de Python
 
Semana 6 Módulos en Python Entrega 2
Semana 6   Módulos en Python Entrega 2Semana 6   Módulos en Python Entrega 2
Semana 6 Módulos en Python Entrega 2
 
Django y Python para todos
Django y Python para todosDjango y Python para todos
Django y Python para todos
 
02.-Implementa programas en python 2022.pptx
02.-Implementa programas en python 2022.pptx02.-Implementa programas en python 2022.pptx
02.-Implementa programas en python 2022.pptx
 
02 introduccion a python
02 introduccion a python02 introduccion a python
02 introduccion a python
 
Programando con Python
Programando con PythonProgramando con Python
Programando con Python
 
Estructura basica de_un_programa_c_
Estructura basica de_un_programa_c_Estructura basica de_un_programa_c_
Estructura basica de_un_programa_c_
 
Estructura basica de_un_programa_c_ (1)
Estructura basica de_un_programa_c_ (1)Estructura basica de_un_programa_c_ (1)
Estructura basica de_un_programa_c_ (1)
 
conceptos basicos lenguajes de programacion.pdf
conceptos basicos lenguajes de programacion.pdfconceptos basicos lenguajes de programacion.pdf
conceptos basicos lenguajes de programacion.pdf
 
C curso intr
C curso intr C curso intr
C curso intr
 
Estructura basica para_c_
Estructura basica para_c_Estructura basica para_c_
Estructura basica para_c_
 
Guia examen diagnostico_pseint
Guia examen diagnostico_pseintGuia examen diagnostico_pseint
Guia examen diagnostico_pseint
 
Cpp
CppCpp
Cpp
 
Cpp
CppCpp
Cpp
 

Último

AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOnarvaezisabella21
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptJavierHerrera662252
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptchaverriemily794
 
Los Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesLos Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesEdomar AR
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxGESTECPERUSAC
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfedepmariaperez
 
Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificialcynserafini89
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfjeondanny1997
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxtjcesar1
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúCEFERINO DELGADO FLORES
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 

Último (20)

AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
 
Los Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesLos Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, Aplicaciones
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptx
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdf
 
Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificial
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
 

Python

  • 1. PYTHON Tecnología Informática 2011-2012/II
  • 2. ¿Qué es Python? ● Python es un lenguaje de programación dinámica muy poderoso. ● Creado por Guido Van Rossum en 1991. ● Comparado con Perl, Ruby, Java. ● Sintaxis muy limpia que favorece un código legible.
  • 3. Características principales ● Lenguaje de alto nivel ● Orientado a objetos ● Propósito general ● Interpretado ● Scripting ● Sintaxis sencilla ● Código independiente de máquina
  • 4. Propiedades Tipado Dinámico ● No es necesario declarar el tipo de dato que va a contener una determinada variable. ● El tipo se determinará en tiempo de ejecución. ● El tipo puede cambiar si se asigna un valor diferente.
  • 5. Propiedades Fuertemente Tipado ● Los tipos son estrictos. ● No se puede tratar una variable como si fuera de un tipo distinto al que tiene. ● Si tiene un entero, no puede tratarlo como una cadena de texto sin convertirlo explícitamente. ● Ej: Sumar la cadena “1” y el entero 2
  • 6. ¿Por qué se usa? ● Es un lenguaje “limpio”, tiene una sintaxis legible. ● Lenguaje muy parecido al pseudocódigo. ● Recomendado para empezar a programar. ● Software libre. ● Se puede resolver un problema en cualquier ámbito.
  • 7. ¿Por qué se usa? ● La cantidad de librerías que contiene, tipos de datos y funciones incorporadas en el propio lenguaje. ● La sencillez y velocidad con la que se crean los programas. Un programa en Python puede tener de 3 a 5 líneas de código menos que su equivalente en Java o C. ● La cantidad de plataformas en las que se puede desarrollar, como Unix, Windows, OS/2, Mac y otros. ● Amplia y buena documentación en línea.
  • 8. Aplicaciones ● Desarrollo Web e Internet ● Bases de Datos ● Desarrollo Software ● Juegos y Gráficos 3D ● Bioinformática ● Física ● Educación
  • 10. Sentencias y bloques ● Las sentencias acaban con una nueva linea ● Es posible concatenar sentencias con ';' ● Los bloques son indicados por tabulador que sigue a una sentencia terminada en ':' Python C if x: if (x){ if y: if (y){ accionx+y accionx+y else: } accionx-y else{ accionx-y } }
  • 11. Identificadores ● Los identificadores sirven para nombrar variables, funciones y módulos ● Deben comenzar con un carácter no numérico y pueden contener letras, números y '_' ● Variables y funciones delimitadas por '__' corresponden a símbolos implícitamente definidos ● __name__ nombre de la función ● __doc__ documentación sobre una función ● __init__() constructor de una clase
  • 12. Palabras reservadas ● Son palabras reservadas en Python: and except is elif import return global print def or class for assert exec while else in try if raise del pass continue from break finally not
  • 13. Variables ● No es necesario especificar el tipo de dato de la variable ● Se usa el símbolo '=' para la asignación ● No confundir asignación con igualdad >>> a = 5 >>> b = a >>> a = 7 >>> a == b False
  • 14. Tipos de datos ● Numéricos: integer, long integer, floating point y complex >>> x = 4 >>> int (x) 4 >>> long(x) 4L >>> float(x) 4.0 >>> complex (4, .2) (4+0.2j) ● Booleanos: True / False
  • 15. Tipos de datos II ● Cadenas de caracteres: string ● Delimitados por ',” o ””” ● '%' es el operador de formateo de cadenas ● Los códigos de escape se expresan con '' ● Raw strings cadenas sin códigos de escape >>> print r'n' # no se 'escapa' n ● Para poder utilizar caracteres con acento, es necesario escribir la siguiente linea al comienzo de un programa python: # -*- coding: iso-8859-1 -*-
  • 16. Tipos de datos III ● Listas: conjunto ordenado de valores, en el cual cada valor va identificado por un indice numérico. ● Los indices comienzan en 0 y terminan en n-1 donde n es el número total de elementos de la lista ● Las listas se definen entre '[' y ']' ● Se puede acceder a subconjuntos de la lista utilizando el operador ':' ● Pueden contener cualquier tipo de objetos
  • 17. Tipos de Datos IV ● Listas (2) ● '+' es el operador de concatenación ● Para añadir un elemento a una lista se utiliza el método insert ● Se puede usar una lista como una pila con los métodos pop y append
  • 18. Tipos de datos V ● Tuplas: Exactamente igual que las listas, pero una vez creadas no se pueden modificar ● Las tuplas se definen entre '(' y ')'
  • 19. Ejemplos: Datos numéricos ● Operadores típicos: +,-,*,/,** >>> print 2+2 4 >>> print 2/3 0 >>> print 2/3.0 0.666666666667 >>> print 2*3-1 5 >>> print 2*(3-1) 4
  • 20. Ejemplos: Booleanos ● Operadores relacionales: ● ==, !=, >, <, >= y <= ● Operadores lógicos: ● and, or y not >>> 5 == 5 True >>> 5 == 6 False >>> a = 'test_a' >>> True and a test_a >>> False and b False
  • 21. Ejemplos: string >>> print “Hellonworld!” # carácter de salto de línea Hello World! >>> print r”Hellonworld!” # raw string Hellonworld! >>> len(“Hello world!”) # Métodos disponibles para string 12 >>> “Hello world!”.upper() HELLO WORLD >>> “hello world!”.capitalize() Hello world! >>> “Hello world!”.find('world') # Devuelve la posición 6 >>> “Hello world!”.find('python')# Si no se encuentra -1 >>> print “Hello %s!” % 'world' # Formateo de cadenas Hello world! >>> a = 2/3.0
  • 22. Ejemplos: Listas >>> lista = [1,2,3,4,5] # definir lista >>> len(lista) # numero de elementos en la lista 5 >>> lista[2:4] # El segundo índice no se incluye en el [2,3] # resultado >>> lista[len(lista)] # Provoca error, ya que el mayor índice # de la lista es n-1 = 4 >>> lista.insert(0,-1) # insertar -1 en la posición 0 >>> lista [-1,1,2,3,4,5] >>> lista.append(5) # Añadir 5 al final de la lista >>> lista.pop() # Recuperar el último elemento de la
  • 23. Control de flujo: Condicionales a = 5 b = 4 if a > b: print “a es mayor que b” elif a == 5: print “a es igual a 5” else: print “No se ha cumplido” ● Operadores relacionales: ● ==, !=, >, <, >= y <= ● Operadores lógicos: ● and, or y not
  • 24. Control de flujo: Ciclos ● for se utiliza para iterar sobre los elementos de una secuencia. ● Se puede usar sobre cualquier tipo de datos que sea una secuencia (tupla, lista, diccionario) lista=[1,2,3] for i in lista: print i Resultado: 1 2 3
  • 25. Control de flujo: Ciclos ● while ejecuta un bloque de código hasta que una condición sea falsa. ● Con break podemos salir del ciclo lista=[1,2,3] i=0 whilei<3: print l i s t a [ i ] i=i+1 Resultado: 1 2 3
  • 26. Funciones ● Una función se define usando la palabra clave def ● No se especifica un valor de retorno ● return devuelve un valor >>> def funcion(a,b): sum = a + b return sum >>> funcion(2,3) 5
  • 27. Funciones ● Se le pueden pasar parámetros con valores por defecto >>> def funcion2(a=2,b=3): sum = a + b return sum >>> funcion2() 5 >>> funcion2(a=4) 7 ● Los parámetros con valores por defecto tienen que ir después de los parámetros sin valor por defecto
  • 28. Clases ● Una clase contiene una colección de métodos. Cada método contiene como primer parámetro self que hace referencia a un objeto. ● self equivale a this en C++ ● En Python se soporta la herencia múltiple.
  • 29. Módulos ● Un módulo es una colección de métodos en un archivo que acaba en .py. El nombre del archivo determina el nombre del módulo en la mayoría de los casos ● Ej. Este sería el contenido del archivo test.py def test1(a): print “test1, parametro: %s” % a def test2(b): print “test2, parametro: %s” % b ● La sentencia import hace que un módulo y su contenido estén disponibles para su uso
  • 30. Módulos ● Usando el módulo test.py >>> import test >>> test.test1(5) test1, parametro 5 ● Formas de uso de import # Importa modulo test. Referir a x en test con "test.x". import test # Importa x de test. Referir a x en test con "x". from test import x # Importa todos los objetos de test. Referir a x en test con "x". from test import * # Importa test; lo hace disponible como theTest. Referir a # objecto x como "theTest.x". import test as theTest
  • 31. Referencias ● http://www.python.org ● http://diveintopython.org ● http://wiki.python.org

Notas del editor

  1. Podríamos instalar el paquete desde python.org Pero: Tendriamos que ajustar las variables de entorno (PATH) Tendriamos que instalar el componente para añadir módulos Tendríamos que instalar un compilador de C para poder utilizar ciertas librerias (mingw) También instala subversion que se utilizará más adelante.
  2. Podríamos instalar el paquete desde python.org Pero: Tendriamos que ajustar las variables de entorno (PATH) Tendriamos que instalar el componente para añadir módulos Tendríamos que instalar un compilador de C para poder utilizar ciertas librerias (mingw) También instala subversion que se utilizará más adelante.
  3. Podríamos instalar el paquete desde python.org Pero: Tendriamos que ajustar las variables de entorno (PATH) Tendriamos que instalar el componente para añadir módulos Tendríamos que instalar un compilador de C para poder utilizar ciertas librerias (mingw) También instala subversion que se utilizará más adelante.
  4. Podríamos instalar el paquete desde python.org Pero: Tendriamos que ajustar las variables de entorno (PATH) Tendriamos que instalar el componente para añadir módulos Tendríamos que instalar un compilador de C para poder utilizar ciertas librerias (mingw) También instala subversion que se utilizará más adelante.
  5. Podríamos instalar el paquete desde python.org Pero: Tendriamos que ajustar las variables de entorno (PATH) Tendriamos que instalar el componente para añadir módulos Tendríamos que instalar un compilador de C para poder utilizar ciertas librerias (mingw) También instala subversion que se utilizará más adelante.
  6. Podríamos instalar el paquete desde python.org Pero: Tendriamos que ajustar las variables de entorno (PATH) Tendriamos que instalar el componente para añadir módulos Tendríamos que instalar un compilador de C para poder utilizar ciertas librerias (mingw) También instala subversion que se utilizará más adelante.
  7. La concartenación no es muy elegante Realmente no es necesario que sea un tabulador, con un espacio es suficiente. Es recomendable configurar el editor de texto para que al pulsar el tabulador, inserte X espacios.
  8. En b = a no se enlazan las dos variables, sino que b recoge el valor que tiene a. No es un puntero.
  9. Realmente en python se resuelve a False 0 o None, y a True todo lo demas
  10. Reglas de precedencia: 1- Paréntesis 2- Exponenciación 3- Multiplicación y división 4- Adición y sustracción En operadores con la misma precedencia se evalúa de izquierda a derecha
  11. Si el indice que se le pasa a insert es mayor que el mayor indice posible el elemento se añade al final
  12. La función range crea una secuencia descrita por ([start,] end [,step]), donde los campos start y step son opcionales. Start es 0 y step es 1 por defecto.
  13. Para estos ejemplos utilizaremos un editor de textos (se recomienda scite para windows), y se crearán los módulos en el directorio donde se está ejecutando el interprete.