Manual de Python Con Db2

13
 Carmencita Carmencita Manual de Python con Db2 AUTORES  Chávarry Marín Carmen Cecilia.  De la Cruz Terán Ruth Elizabeth  Pérez López Martin Valentín .

Transcript of Manual de Python Con Db2

5/17/2018 Manual de Python Con Db2 - slidepdf.com

http://slidepdf.com/reader/full/manual-de-python-con-db2-55b07e479d208 1/13

 

 

Carmencita 

Carmencita 

Manual de Python

con Db2 

AUTORES:

 Chávarry Marín Carmen Cecilia.

  De la Cruz Terán Ruth Elizabeth

  Pérez López Martin Valentín.

5/17/2018 Manual de Python Con Db2 - slidepdf.com

http://slidepdf.com/reader/full/manual-de-python-con-db2-55b07e479d208 2/13

 

  Python para todos

2

INTRODUCCION

PYTHON:Python es un lenguaje de programación creado por Guido van Rossum a principios de

los años 90 cuyo nombre está inspirado en el grupo de cómicos ingleses “Monty

Python”. Es un lenguaje similar a Perl, pero con una sintaxis muy limpia y que favorece

un código legible.

Se trata de un lenguaje interpretado o de script, con tipado dinámico, 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 intérprete, en lugar de compilar el código a lenguaje máquina que

pueda comprender y ejecutar directamente una computadora (lenguajes compilados).

La ventaja de los lenguajes compilados es que su ejecución es más rápida. Sin embargo

los lenguajes interpretados son más flexibles y más portables.

Python tiene, no obstante, muchas de las características de los lenguajes compilados,

por lo que se podría decir que es semi interpretado. En Python, como en Java y muchos

otros lenguajes, el código fuente se traduce a un pseudocódigo máquina intermedio

llamado bytecode la primera vez que se ejecuta, generando archivos .pyc o .pyo

(bytecode optimizado), que son los que se ejecutarán en sucesivas ocasiones.

TIPADO DINÁMICO

La característica de tipado dinámico 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 ejecución según 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 explícita dicha variable al nuevo tipo previamente. Por

5/17/2018 Manual de Python Con Db2 - slidepdf.com

http://slidepdf.com/reader/full/manual-de-python-con-db2-55b07e479d208 3/13

 

  Python para todos

3

ejemplo, si tenemos una variable que contiene un texto (variable de tipo cadena o string)

no podremos tratarla como un número (sumar la cadena “9” y el número 8). En otros

lenguajes el tipo de la variable cambiaría para adaptarse al comportamiento esperado,

aunque esto es más propenso a errores.

MULTIPLATAFORMA

El intérprete de Python está disponible en multitud de plataformas (UNIX, Solaris,

Linux, DOS, Windows, OS/2, Mac OS, etc.) por lo que si no utilizamos librerías

específicas de cada plataforma nuestro programa podrá correr en todos estos sistemas

sin grandes cambios.

ORIENTADO A OBJETOSLa orientación a objetos es un paradigma de programación en el que los conceptos del

mundo real relevantes para nuestro problema se trasladan a clases y objetos en nuestro

programa. La ejecución del programa consiste en una serie de interacciones entre los

objetos.

Python también permite la programación imperativa, programación funcional y

programación orientada a aspectos.

¿POR QUÉ PYTHON?

Python es un lenguaje que todo el mundo debería conocer. Su sintaxis simple, clara y

sencilla; el tipado dinámico, el gestor de memoria, la gran cantidad de librerías

disponibles y la potencia del lenguaje, entre otros, hacen que desarrollar una aplicación

en Python sea sencillo, muy rápido y, lo que es más importante, divertido.

La sintaxis de Python es tan sencilla y cercana al lenguaje natural que los programas

elaborados en Python parecen pseudocódigo. Por este motivo se trata además de uno de

los mejores lenguajes para comenzar a programar.

Python no es adecuado sin embargo para la programación de bajo nivel o para

aplicaciones en las que el rendimiento sea crítico.

5/17/2018 Manual de Python Con Db2 - slidepdf.com

http://slidepdf.com/reader/full/manual-de-python-con-db2-55b07e479d208 4/13

 

  Python para todos

4

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.

INSTALACIÓN DE PYTHON

Existen varias implementaciones distintas de Python: CPython, Jython, IronPython,

PyPy, etc.

CPython es la más utilizada, la más rápida y la más madura. Cuando la gente habla de

Python normalmente se refiere a esta implementación. En este caso tanto el intérprete

como los módulos están escritos en C.

Jython es la implementación en Java de Python, mientras que IronPython es su

contrapartida en C# (.NET). Su interés estriba en que utilizando estas implementaciones

se pueden utilizar todas las librerías disponibles para los programadores de Java y .NET.

PyPy, por último, como habréis adivinado por el nombre, se trata de una

implementación 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 línea nos indica la versión de Python que tenemos instalada. Al final

podemos ver el prompt (>>>) que nos indica que el intérprete está esperando código 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 versión correspondiente a tu sistema operativo desde la web de Python, en

http://www.python.org/download/ . Existen instaladores para Windows y Mac OS. Si

5/17/2018 Manual de Python Con Db2 - slidepdf.com

http://slidepdf.com/reader/full/manual-de-python-con-db2-55b07e479d208 5/13

 

  Python para todos

5

utilizas Linux es muy probable que puedas instalarlo usando la herramienta de gestión

de paquetes de tu distribución, aunque también podemos descargar la aplicación

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

número) 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 esun entero y Hola, mundo es una cadena, llamada así porque contiene una \cadena" de

letras. Usted (y el intérprete) puede identificar las cadenas porque están encerradas entre

comillas.

La sentencia print también funciona con enteros:

>>> Print 4

4

Si no esta seguro del tipo que tiene un determinado valor, puede preguntárselo al

intérprete 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 números con

decimales (separados por medio de un punto en ingles) son de tipo float debido a la

representación de estos números en el formato llamado de coma flotante (floating-

point).

5/17/2018 Manual de Python Con Db2 - slidepdf.com

http://slidepdf.com/reader/full/manual-de-python-con-db2-55b07e479d208 6/13

 

  Python para todos

6

>>> type (3.2)

<type 'float'>

>Que ocurre con los valores como "17" y "3.2"? Parecen números, pero están entre

comillas como las cadenas.

>>> type ("17")

<type 'string'>

>>> type ("3.2")

<type 'string'>

Son cadenas.

Cuando escriba un entero largo, podría estar tentado de usar comas entre grupos de tres

dígitos, como en 1, 000,000. Este no es un entero legal en Python, pero es una expresión

legal:

>>> print 1, 000,000

1 0 0

En fin, no era eso lo que queríamos. Python interpreta 1, 000,000 como una lista de tres

números que debe imprimir. Así que recuerde no insertar comas en sus enteros. 1

VARIABLES

Una de las características más potentes de los lenguajes de programación es la

capacidad de manipular variables. Una variable es un nombre que hace referencia a un

valor. La sentencia de asignación crea nuevas variables y les asigna un valor:

>>> mensaje = "Que onda?"

>>> n = 17

>>> pi = 3.14159

5/17/2018 Manual de Python Con Db2 - slidepdf.com

http://slidepdf.com/reader/full/manual-de-python-con-db2-55b07e479d208 7/13

 

  Python para todos

7

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 número en coma flotante 3.14159 a pi.

Una forma habitual de representar variables sobre el papel es escribir el nombre

con una flecha señalando al valor de la variable. Este tipo de representación se llama

diagrama de estado, ya que muestra en que estado se halla cada una de las variables

(considérelo como el “estado de animo” de la variable"). El siguiente diagrama muestra

el efecto de las tres sentencias de asignación anteriores:

La sentencia print también 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 también tienen tipo.

De nuevo, podemos preguntar al intérprete lo que son.

>>> type(mensaje)

<type 'string'>

>>> type(n)

5/17/2018 Manual de Python Con Db2 - slidepdf.com

http://slidepdf.com/reader/full/manual-de-python-con-db2-55b07e479d208 8/13

 

  Python para todos

8

<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

números, pero deben comenzar con una letra. Aunque es aceptable usar mayúsculas, por

convención no lo hacemos. Si lo hace, recuerde que la distinción es importante: Bruno y

bruno son dos variables diferentes.

El guion bajo () también es legal y se utiliza a menudo para separar nombres con

múltiples 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 Programación 101"

SyntaxError: invalid syntax

76 trombones es ilegal porque no comienza por una letra. mas$ es ilegal porque

contiene un carácter ilegal, el signo del dólar. 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.

5/17/2018 Manual de Python Con Db2 - slidepdf.com

http://slidepdf.com/reader/full/manual-de-python-con-db2-55b07e479d208 9/13

 

  Python para todos

9

Python tiene 28 palabras reservadas:

and continue else for import not raise

assert def except from in or return

break del exec global is pass try

class elif finally if lambda print while

Tal vez quiera mantener esta lista a mano. Si el intérprete se queja de alguno de sus

nombres de variable, y usted no sabe por que, compruebe si esta en esta lista.

CARACTERÍSTICAS DE PYTHON

Muy legible y elegante.

Imposible 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.

5/17/2018 Manual de Python Con Db2 - slidepdf.com

http://slidepdf.com/reader/full/manual-de-python-con-db2-55b07e479d208 10/13

 

  Python para todos

10

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. 

PYTHON VS. PERL

Los dos están basados en un buen entendimiento de las herramientas necesarias para

resolver problemas

Perl está basado en awk, sed, and shell scripting y su misión es hacer lastareas de administradores de sistemas más sencillas

Python está basado e inspirando por OOP (Objectoriented programming)

Guido van Rossum diseñó un lenguaje simple, poderoso, y elegante orientado

a la creación de sistemas a partir de componentes.

PYTHON VS. JAVA

Java es un lenguaje de programación 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 ejecución.

5/17/2018 Manual de Python Con Db2 - slidepdf.com

http://slidepdf.com/reader/full/manual-de-python-con-db2-55b07e479d208 11/13

 

  Python para todos

11

Todo lo que puedes hacer con Java también lo puedes hacer con Python.

Incluso puedes acceder a través de Python a las API de Java si usas

Jython (http://www.jython.org

 

).

PYTHON VS. JYTHON

Python

También llamado Cpython

Implementación del lenguaje Python en C

Python C API permite extender Python con librerías realizadas

en C Partes que requieren mayor rendimiento en Python están

implementadas en C o C++ y tan sólo contienen una pequeña

capa de Python encima.

Jython

Implementación 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:

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 cómputo.

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.

5/17/2018 Manual de Python Con Db2 - slidepdf.com

http://slidepdf.com/reader/full/manual-de-python-con-db2-55b07e479d208 12/13

 

  Python para todos

12

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.

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 línea de comando:

$ python helloworld.py

Hello World

$

TIPOS DE DATOS

El módulo string de la Python library define métodos para

manipulación 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

5/17/2018 Manual de Python Con Db2 - slidepdf.com

http://slidepdf.com/reader/full/manual-de-python-con-db2-55b07e479d208 13/13

 

  Python para todos

13

>>> meses.append ("Marzo")

>>> print meses

['Enero', 'Febrero', 'Marzo']

Dos puntos (:) es el operador de rodajas, permite trabajar con una

porción de la lista, el elemento indicado por el segundo parámetro no

se incluye:

>>> print meses[1:2]['Febrero']

Más (+) es el operador de concatenación:

>>> print meses+meses

['Enero', 'Febrero', 'Marzo', 'Enero', 'Febrero','Marzo']

PROGRAMACIÓN DE BD EN PYTHON

Lo que es JDBC en Java es DB API en Python

Información detallada en: http://www.python.org/topics/database/ 

Para conectarnos a una base de datos usamos el método connect del

módulo de base de datos utilizado que devuelve un objeto de tipo

conection.

El objeto connection tiene el método cursor () que sirve para recuperar

un cursor de la BD.

Otros métodos definidos en connection son close (), commit (),

rollback (), cursor ().

El objeto cursor define entre otros los siguientes métodos:

  execute() nos permite enviar una sentencia SQL a la BD

  fetchone() recuperar una fila

  fetchall() recuperar todas las filas

Hay varios módulos que implementan el estándar 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