Anda di halaman 1dari 13

Manual de Python con Db2

Carmencita Carmencita

AUTORES:
Chvarry Marn Carmen Cecilia. De la Cruz Tern Ruth Elizabeth Prez Lpez Martin Valentn.

Python para todos

INTRODUCCION
PYTHON:
Python es un lenguaje de programacin creado por Guido van Rossum a principios de los aos 90 cuyo nombre est inspirado en el grupo de cmicos ingleses Monty Python. Es un lenguaje similar a Perl, pero con una sintaxis muy limpia y que favorece un cdigo legible. Se trata de un lenguaje interpretado o de script, con tipado dinmico, fuertemente tipado, multiplataforma y orientado a objetos.

LENGUAJE INTERPRETADO O DE SCRIPT


Un lenguaje interpretado o de script es aquel que se ejecuta utilizando un programa intermedio llamado intrprete, en lugar de compilar el cdigo a lenguaje mquina que pueda comprender y ejecutar directamente una computadora (lenguajes compilados). La ventaja de los lenguajes compilados es que su ejecucin es ms rpida. Sin embargo los lenguajes interpretados son ms flexibles y ms portables. Python tiene, no obstante, muchas de las caractersticas de los lenguajes compilados, por lo que se podra decir que es semi interpretado. En Python, como en Java y muchos otros lenguajes, el cdigo fuente se traduce a un pseudocdigo mquina intermedio llamado bytecode la primera vez que se ejecuta, generando archivos .pyc o .pyo (bytecode optimizado), que son los que se ejecutarn en sucesivas ocasiones.

TIPADO DINMICO
La caracterstica de tipado dinmico se refiere a que no es necesario declarar el tipo de dato que va a contener una determinada variable, sino que su tipo se determinar en tiempo de ejecucin segn el tipo del valor al que se asigne, y el tipo de esta variable puede cambiar si se le asigna un valor de otro tipo.

FUERTEMENTE TIPADO
No se permite tratar a una variable como si fuera de un tipo distinto al que tiene, es necesario convertir de forma explcita dicha variable al nuevo tipo previamente. Por
2

Python para todos

ejemplo, si tenemos una variable que contiene un texto (variable de tipo cadena o string) no podremos tratarla como un nmero (sumar la cadena 9 y el nmero 8). En otros lenguajes el tipo de la variable cambiara para adaptarse al comportamiento esperado, aunque esto es ms propenso a errores.

MULTIPLATAFORMA
El intrprete de Python est disponible en multitud de plataformas (UNIX, Solaris, Linux, DOS, Windows, OS/2, Mac OS, etc.) por lo que si no utilizamos libreras especficas de cada plataforma nuestro programa podr correr en todos estos sistemas sin grandes cambios.

ORIENTADO A OBJETOS
La orientacin a objetos es un paradigma de programacin en el que los conceptos del mundo real relevantes para nuestro problema se trasladan a clases y objetos en nuestro programa. La ejecucin del programa consiste en una serie de interacciones entre los objetos. Python tambin permite la programacin imperativa, programacin funcional y programacin orientada a aspectos.

POR QU PYTHON?
Python es un lenguaje que todo el mundo debera conocer. Su sintaxis simple, clara y sencilla; el tipado dinmico, el gestor de memoria, la gran cantidad de libreras disponibles y la potencia del lenguaje, entre otros, hacen que desarrollar una aplicacin en Python sea sencillo, muy rpido y, lo que es ms importante, divertido. La sintaxis de Python es tan sencilla y cercana al lenguaje natural que los programas elaborados en Python parecen pseudocdigo. Por este motivo se trata adems de uno de los mejores lenguajes para comenzar a programar. Python no es adecuado sin embargo para la programacin de bajo nivel o para aplicaciones en las que el rendimiento sea crtico.

Python para todos

Algunos casos de xito en el uso de Python son Google, Yahoo, la NASA, Industrias Light & Magic, y todas las distribuciones Linux, en las que Python cada vez representa un tanto por ciento mayor de los programas disponibles.

INSTALACIN DE PYTHON
Existen varias implementaciones distintas de Python: CPython, Jython, IronPython, PyPy, etc. CPython es la ms utilizada, la ms rpida y la ms madura. Cuando la gente habla de Python normalmente se refiere a esta implementacin. En este caso tanto el intrprete como los mdulos estn escritos en C. Jython es la implementacin en Java de Python, mientras que IronPython es su contrapartida en C# (.NET). Su inters estriba en que utilizando estas implementaciones se pueden utilizar todas las libreras disponibles para los programadores de Java y .NET. PyPy, por ltimo, como habris adivinado por el nombre, se trata de una implementacin en Python de Python. CPython est instalado por defecto en la mayor parte de las distribuciones Linux y en las ltimas versiones de Mac OS. Para comprobar si est instalado abre una terminal y escribe python. Si est instalado se iniciar la consola interactiva de Python y obtendremos parecido a lo siguiente: Python 2.5.1 (r251: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. >>> La primera lnea nos indica la versin de Python que tenemos instalada. Al final podemos ver el prompt (>>>) que nos indica que el intrprete est esperando cdigo del usuario. Podemos salir escribiendo exit (), o pulsando Control + D. Si no te muestra algo parecido no te preocupes, instalar Python es muy sencillo. Puedes descargar la versin correspondiente a tu sistema operativo desde la web de Python, en http://www.python.org/download/. Existen instaladores para Windows y Mac OS. Si
4

Python para todos

utilizas Linux es muy probable que puedas instalarlo usando la herramienta de gestin de paquetes de tu distribucin, aunque tambin podemos descargar la aplicacin compilada desde la web de Python.

VARIABLES, EXPRESIONES Y SENTENCIAS VALORES Y TIPOS


El valor es uno de los elementos fundamentales (como por ejemplo una letra o un nmero) que manipula un programa. Los valores que hemos visto hasta el momento son 2 (el resultado de sumar 1 + 1) y Hola, mundo. Estos valores son de distintos tipos: 2 es un entero y Hola, mundo es una cadena, llamada as porque contiene una \cadena" de letras. Usted (y el intrprete) puede identificar las cadenas porque estn encerradas entre comillas. La sentencia print tambin funciona con enteros: >>> Print 4 4 Si no esta seguro del tipo que tiene un determinado valor, puede preguntrselo al intrprete de Python. >>> Type ("Hola, mundo") <Type 'string'> >>> Type(17) <type 'int'> No es sorprendente que las cadenas sean de tipo string (cadena en ingles) y los enteros sean de tipo int (por integer en ingles). De forma menos obvia, los nmeros con decimales (separados por medio de un punto en ingles) son de tipo float debido a la representacin de estos nmeros en el formato llamado de coma flotante (floatingpoint).
5

Python para todos

>>> type (3.2) <type 'float'> >Que ocurre con los valores como "17" y "3.2"? Parecen nmeros, pero estn entre comillas como las cadenas. >>> type ("17") <type 'string'> >>> type ("3.2") <type 'string'> Son cadenas. Cuando escriba un entero largo, podra estar tentado de usar comas entre grupos de tres dgitos, como en 1, 000,000. Este no es un entero legal en Python, pero es una expresin legal: >>> print 1, 000,000 100 En fin, no era eso lo que queramos. Python interpreta 1, 000,000 como una lista de tres nmeros que debe imprimir. As que recuerde no insertar comas en sus enteros. 1

VARIABLES
Una de las caractersticas ms potentes de los lenguajes de programacin es la capacidad de manipular variables. Una variable es un nombre que hace referencia a un valor. La sentencia de asignacin crea nuevas variables y les asigna un valor: >>> mensaje = "Que onda?" >>> n = 17 >>> pi = 3.14159

Python para todos

Este ejemplo muestra tres asignaciones. La primera de ellas asigna el valor "Que onda?" a una variable nueva, de nombre mensaje. La segunda le da el valor entero 17 a n, y la tercera le da el valor de nmero en coma flotante 3.14159 a pi. Una forma habitual de representar variables sobre el papel es escribir el nombre con una flecha sealando al valor de la variable. Este tipo de representacin se llama diagrama de estado, ya que muestra en que estado se halla cada una de las variables (considrelo como el estado de animo de la variable"). El siguiente diagrama muestra el efecto de las tres sentencias de asignacin anteriores:

La sentencia print tambin funciona con variables. >>> print mensaje "Que onda?" >>> print n 17 >>> print pi 3.14159 En cada caso, el resultado es el valor de la variable. Las variables tambin tienen tipo. De nuevo, podemos preguntar al intrprete lo que son. >>> type(mensaje) <type 'string'> >>> type(n)
7

Python para todos

<type 'int'> >>> type(pi) <type 'float'> El tipo de una variable es el tipo del valor al que se refiere.

NOMBRES DE VARIABLES Y PALABRAS RESERVADAS


Como norma general, los programadores eligen nombres signicativos para sus Variables: esto permite documentar para que se usa la variable. Los nombres de las variables pueden tener una longitud arbitraria. Pueden estar formados por letras y nmeros, pero deben comenzar con una letra. Aunque es aceptable usar maysculas, por convencin no lo hacemos. Si lo hace, recuerde que la distincin es importante: Bruno y bruno son dos variables diferentes. El guion bajo () tambin es legal y se utiliza a menudo para separar nombres con mltiples palabras, como mi nombre o precio del caf colombiano. Si intenta darle a una variable un nombre ilegal, obtendr un error de sintaxis. >>> 76trombones = "gran desfile" SyntaxError: invalid syntax >>> mas$ = 1000000 SyntaxError: invalid syntax >>> class = "Curso de Programacin 101" SyntaxError: invalid syntax 76 trombones es ilegal porque no comienza por una letra. mas$ es ilegal porque contiene un carcter ilegal, el signo del dlar. Pero >que tiene de malo class? Resulta que class es una de las palabras reservadas de Python. El lenguaje usa las palabras reservadas para definir sus reglas y estructura, y no pueden usarse como nombres de variables.

Python para todos

Python tiene 28 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

Tal vez quiera mantener esta lista a mano. Si el intrprete se queja de alguno de sus nombres de variable, y usted no sabe por que, compruebe si esta en esta lista.

CARACTERSTICAS DE PYTHON
Muy legible y elegante. Imposible escribir cdigo ofuscado. Simple y poderoso. Minimalista: todo aquello innecesario no hay que escribirlo (;,{,}, '\n'). Muy denso: poco cdigo hace mucho. Soporta objetos y estructuras de datos de alto nivel: strings, listas, diccionarios, etc. Mltiples niveles de organizar cdigo: funciones, clases, mdulos, y paquetes. Python standard library (http://www.python.org/doc/current/lib/lib.html)

contiene un sinfn 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 aplicacin, o a travs de herramientas como SWIG, sip o Pyrex.

Python para todos

PECULIARIDADES SINTCTICAS
Python usa tabulacin (o espaciado) para mostrar estructura de bloques Tabula una vez para indicar comienzo de bloque. Des-tabula para indicar el final del bloque.

PYTHON VS. PERL


Los dos estn basados en un buen entendimiento de las herramientas necesarias para resolver problemas Perl est basado en awk, sed, and shell scripting y su misin es hacer las tareas de administradores de sistemas ms sencillas Python est basado e inspirando por OOP (Objectoriented programming) Guido van Rossum dise un lenguaje simple, poderoso, y elegante orientado a la creacin de sistemas a partir de componentes.

PYTHON VS. JAVA


Java es un lenguaje de programacin muy completo que ofrece: Amplio abanico de tipos de datos. Soporte para threads. Strong typing, etc. Python es un lenguaje de scripting: No ofrece strong typing. Bueno para prototipos pero malo para grandes sistemas. Puede cascar en tiempo de ejecucin.
10

Python para todos

Todo lo que puedes hacer con Java tambin lo puedes hacer con Python. Incluso puedes acceder a travs de Python a las API de Java si usas Jython (http://www.jython.org).

PYTHON VS. JYTHON Python Tambin llamado Cpython Implementacin del lenguaje Python en C Python C API permite extender Python con libreras realizadas en C Partes que requieren mayor rendimiento en Python estn implementadas en C o C++ y tan slo contienen una pequea capa de Python encima. Jython Implementacin de Python en Java. Permite acceder a todas las APIs de Java. P.E. Podemos producir Swing GUIs desde Python. PARA QU [NO] ES TIL?
Python no es el lenguaje perfecto, no es bueno para: Programacin de bajo nivel (system-programming), como programacin 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 cmputo. 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.
11

Python para todos

Para la elaboracin de aplicaciones cliente. Para desarrollo web y de sistemas distribuidos. Para el desarrollo de tareas cientficas, en los que hay que simular y prototipar rpidamente.

EJECUTANDO PROGRAMA holamundo.py


Python desde script: Guardar siguientes sentencias en fichero: holamundo.py #!/usr/bin/env python print "Hello World" Ejecutar el script desde lnea de comando: $ python helloworld.py Hello World $

TIPOS DE DATOS
El mdulo string de la Python library define mtodos para manipulacin de strings: >>> import string >>> s1 = 'La vida es mejor con Python' >>> string.find (s1, 'Python') 21 '%' es el operador de formateo de cadenas: >>> provincia = 'Araba' >>> "La capital de %s es %s" % (provincia,"Gasteiz") 'La capital de Araba es Gasteiz' Los caracteres de formateo son los mismos que en C, p.e. d, f, x. Listas [] Indexadas por un entero comienzan en 0: >>> meses = ["Enero", "Febrero"] >>> print meses [0] Enero
12

Python para todos

>>> meses.append ("Marzo") >>> print meses ['Enero', 'Febrero', 'Marzo'] Dos puntos (:) es el operador de rodajas, permite trabajar con una porcin de la lista, el elemento indicado por el segundo parmetro no se incluye: >>> print meses[1:2]['Febrero'] Ms (+) es el operador de concatenacin: >>> print meses+meses ['Enero', 'Febrero', 'Marzo', 'Enero', 'Febrero','Marzo']

PROGRAMACIN DE BD EN PYTHON
Lo que es JDBC en Java es DB API en Python Informacin detallada en: http://www.python.org/topics/database/ Para conectarnos a una base de datos usamos el mtodo connect del mdulo de base de datos utilizado que devuelve un objeto de tipo conection. El objeto connection tiene el mtodo cursor () que sirve para recuperar un cursor de la BD. Otros mtodos definidos en connection son close (), commit (), rollback (), cursor (). El objeto cursor define entre otros los siguientes mtodos: execute() nos permite enviar una sentencia SQL a la BD fetchone() recuperar una fila fetchall() recuperar todas las filas

Hay varios mdulos que implementan el estndar DB-API: DCOracle(http://www.zope.org/Products/DCOracle/) creado por Zope. MySQLdb (http://sourceforge.net/projects/mysql-python) MySQL-python.exe-0.9.2.win32-py2.3.exe para Windows MySQL-python-0.9.2-1.i386.rpm para Linux
13