Python
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Python

on

  • 639 views

 

Statistics

Views

Total Views
639
Views on SlideShare
639
Embed Views
0

Actions

Likes
0
Downloads
13
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • En b = a no se enlazan las dos variables, sino que b recoge el valor que tiene a. No es un puntero.
  • Realmente en python se resuelve a False 0 o None, y a True todo lo demas
  • 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
  • Si el indice que se le pasa a insert es mayor que el mayor indice posible el elemento se añade al final
  • 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.
  • 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.

Python Presentation Transcript

  • 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. PropiedadesTipado 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. PropiedadesFuertemente 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
  • 9. Casos de éxito
  • 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 rn # 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