Introducción a Python
Pablo Orduña
[email protected]
Cursillos Julio 2007 e-ghost
http://www.morelab.deusto.es
http://creativecommons.org/licenses/by/3.0/ or send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305,
This work is licensed under the Creative Commons Attribution License. To view a copy of this license, visit
Introducción a Python
Sobre el cursillo
El cursillo está entre los Cursillos de Julio de los grupos
de interés de la Universidad de Deusto
Cursillos de Julio
Desde hace varios años, alumnos y alumnas de la Facultad de Ingeniería de la
Universidad de Deusto organizan de manera voluntaria una serie de cursillos que
abarcan diversas áreas de conocimiento
Cuenta con el apoyo de profesores y de la Facultad de Ingeniería – ESIDE, que anima e
impulsa estas actividades facilitando el uso de aulas informatizadas y demás recursos
para que su realización sea lo mejor posible
Filosofía de los cursillos
¡Compartir conocimiento!
Ayudar a dar los primeros pasos de una tecnología, lenguaje de programación etc.
En consecuencia: En un cursillo se abarcan la máxima cantidad de temas en el mínimo
tiempo posible. No es posible profundizar mucho en cada tema, pero sí ver lo suficiente
para que el/la alumno/a pueda seguir aprendiendo por su cuenta, una vez dados los
primeros pasos
Cursillos introductorios, no exhaustivos
Más información sobre los Cursillos de Julio
Este concretamente se da desde el grupo de software libre de la
Universidad (el e-ghost) con colaboración del MoreLab.
© 2007 – Pablo Orduña
e-ghost – ESIDE – Universidad de Deusto
Introducción a Python
Material del cursillo
Tanto las transparencias como muchos de
los ejemplos de este cursillo están basados
en las transparencias y ejemplos de
Diego López de Ipiña, los originales están
disponibles en su página web
En los ejemplos hay una carpeta
“tresenraya”, que se fue completando y
refinando durante el cursillo de Julio 2006,
impartido por Arkaitz Ruiz y Pablo Orduña.
Muchos ejemplos están más completos en
el mismo
© 2007 – Pablo Orduña
e-ghost – ESIDE – Universidad de Deusto
Introducción a Python
Contenido
Introducción a Python
Programación modular
Orientación a objetos
XUnit
Bases de Datos
XML
GUI
Aspectos más avanzados de Python
© 2007 – Pablo Orduña
e-ghost – ESIDE – Universidad de Deusto
Introducción a Python
Python
Python fue creado por Guido van Rossum (
http://www.python.org/~guido/)
Da este nombre al lenguaje inspirado por
el popular grupo cómico británico Monty
Python
Guido creó Python durante unas
vacaciones de navidad en las que (al
parecer) se estaba aburriendo
© 2007 – Pablo Orduña
e-ghost – ESIDE – Universidad de Deusto
Introducción a Python
Hola Mundo en Python
#!/usr/bin/env python
print "Hola Mundo" # "Hola Mundo"
print "hola", "mundo" # "hola mundo"
print "Hola" + "Mundo" # "HolaMundo"
© 2007 – Pablo Orduña
e-ghost – ESIDE – Universidad de Deusto
Introducción a Python
Características de Python I
Muy legible y elegante
Muy difícil escribir código ofuscado
Simple y poderoso
Minimalista: todo aquello innecesario no hay que
escribirlo (;, {, }, '\n')
Muy denso: poco código hace mucho
Soporta objetos y estructuras de datos de alto nivel:
strings, listas, diccionarios, etc.
Múltiples niveles de organizar código: funciones, clases,
módulos, y paquetes
Python standard library (
http://www.python.org/doc/current/lib/lib.html) contiene
un sinfín de clases de utilidad
Si hay áreas que son lentas se pueden reemplazar por
plugins en C o C++, siguiendo la API para extender o
empotrar Python en una aplicación, o a través de
herramientas como SWIG, sip o Pyrex.
© 2007 – Pablo Orduña
e-ghost – ESIDE – Universidad de Deusto
Introducción a Python
Características de Python II
De scripting
No tienes que declarar constantes y variables antes de
utilizarlas
No requiere paso de compilación/linkage
La primera vez que se ejecuta un script de Python se
compila y genera bytecode que es luego interpretado
Alta velocidad de desarrollo y buen rendimiento
Código interoperable (como en Java "write once run
everywhere")
Se puede utilizar en múltiples plataforma (más aún que
Java)
Puedes incluso ejecutar Python dentro de una JVM
(Jython) o de un .NET Runtime (IronPython), móviles de
la serie 60 de Nokia... (ver directorio “examples/interpretes”)
Open source
Razón por la cual la Python Library sigue creciendo
De propósito general
Puedes hacer en Python todo lo que puedes hacer con C# o
© 2007 – Pablo Orduña
Java, o más
e-ghost – ESIDE – Universidad de Deusto
Introducción a Python
Peculiaridades sintácticas
Python usa tabulación (o espaciado) para
mostrar estructura de bloques
Tabula una vez para indicar comienzo de bloque
Des-tabula para indicar el final del bloque
Código en C/Java
Código en Python
if (x) {
if (y) {
f1();
}
f2();
}
if x:
if y:
f1()
f2()
© 2007 – Pablo Orduña
e-ghost – ESIDE – Universidad de Deusto
Introducción a Python
Python vs. Java o C#
Java o C# son lenguajes de programación muy
completos que ofrecen:
Amplio abanico de tipos de datos
Soporte para threads
Tipado estático
Y mucho más ...
Python es un lenguaje de scripting:
No ofrece tipado estático
Bueno para prototipos pero quizá malo para grandes
sistemas
Puede cascar en tiempo de ejecución
Todo lo que puedes hacer con Java o .NET también lo
puedes hacer con Python
Incluso puedes acceder a través de Python a las API de
Java si usas Jython o a las de .NET si usas IronPython
© 2007 – Pablo Orduña
e-ghost – ESIDE – Universidad de Deusto
Introducción a Python
¿Para qué [no] es útil?
Python no es el lenguaje perfecto, no es bueno
para:
Programación de bajo nivel (system-programming), como
programación de drivers y kernels
Python es de demasiado alto nivel, no hay control directo
sobre memoria y otras tareas de bajo nivel
Aplicaciones que requieren alta capacidad de computo
No hay nada mejor para este tipo de aplicaciones que el viejo
C
Python es ideal:
Como lenguaje "pegamento" para combinar varios
componentes juntos
Para llevar a cabo prototipos de sistema
Para la elaboración de aplicaciones cliente
Para desarrollo web y de sistemas distribuidos
Para el desarrollo de tareas científicas, en los que hay que
simular y prototipar rápidamente
© 2007 – Pablo Orduña
e-ghost – ESIDE – Universidad de Deusto
Introducción a Python
Instalar Python
Bajar la última versión de Python (2.5) de
http://www.python.org/download/
Para Windows ejecutar instalador
Para Linux:
En Debian y Ubuntu: apt-get install python
© 2007 – Pablo Orduña
e-ghost – ESIDE – Universidad de Deusto
Introducción a Python
Versiones en Python
Rama 2.x
En el aula está instalado Python 2.4
En versiones más actualizadas de Ubuntu
o Debian está disponible Python 2.5
Rama 3.x (Python 3000, Py3k...)
Limpia y reestructura Python
Incompatible con la rama 2.x
Futuro cada vez más cercano
Python 2.6 convivirá con Python 3.x
Fuera de este cursillo (sólo al final)
© 2007 – Pablo Orduña
e-ghost – ESIDE – Universidad de Deusto
Introducción a Python
Usando Python desde línea de
comando
Para arrancar el intérprete (Python interactivo) ejecutar:
python@cursillos:~$ python
Python 2.5.1 (rc251:54863, May 2 2007, 16:56:35)
[GCC 4.1.2 (Ubuntu 4.1.2-0ubuntu4)] on linux2
Type "help", "copyright", "credits" or "license" for more
>>>
information.
Un comando simple:
>>> print "Hola Mundo"
Hola Mundo
>>>
Para salir del intérprete Ctrl-D (en Linux) o Ctrl-Z (en
Windows) o:
>>> import sys
>>> sys.exit()
$
© 2007 – Pablo Orduña
e-ghost – ESIDE – Universidad de Deusto
Introducción a Python
Ejecutando programa
holamundo.py
Python desde script:
Guardar las siguientes sentencias en fichero:
holamundo.py
#!/usr/bin/env python
print “Hola mundo!"
Ejecutar el script desde línea de comando:
$ python helloworld.py
Hola mundo!
$
© 2007 – Pablo Orduña
e-ghost – ESIDE – Universidad de Deusto
Introducción a Python
Sentencias y bloques
Las sentencias acaban en nueva línea, no en ;
Los bloques son indicados por tabulación que sigue a una
sentencia acabada en ':'. E.j. (bloque.py):
# comentarios de línea se indican con carácter '#'
name = "Diego1" # asignación de valor a variable
if name == "Diego":
print "Aupa Diego"
else:
print "¿Quién eres?"
print "¡No eres Diego!"
$ python bloque.py
¿Quién eres?
¡No eres Diego!
© 2007 – Pablo Orduña
e-ghost – ESIDE – Universidad de Deusto
Introducción a Python
Identificadores
Los identificadores sirven para nombrar variables,
funciones y módulos
Deben empezar con un carácter no numérico y contener
letras, números y '_'
Python es case sensitive (sensible a la capitalización)
Palabras reservadas:
and assert break class continue def del elif else
except exec finally for from global if import in is
lambda not or pass print raise return try while
yield
Variables y funciones delimitadas por __ corresponden a
símbolos implícitamente definidos:
__name__ nombre de función
__doc__ documentación sobre una función
__init__() constructor de una clase
__dict__, diccionario utilizado para guardar los atributos de
un objeto
© 2007 – Pablo Orduña
e-ghost – ESIDE – Universidad de Deusto
Introducción a Python
Tipos de datos I
Numéricos (integer, long integer, floating-point,
and complex)
>>> x = 4
>>> int (x)
4
>>> long(x)
4L
>>> float(x)
4.0
>>> complex (4, .2)
(4+0.2j)
© 2007 – Pablo Orduña
e-ghost – ESIDE – Universidad de Deusto
Introducción a Python
Tipos de datos II
Strings, delimitados por un par de (', " ,""",''')
Dos string juntos sin delimitador se unen
>>> print "Hi" "there"
Hithere
Los
Comentarios de: Introducción a Python (0)
No hay comentarios