PDF de programación - Programación en Python - Parte II - Ejemplos

Imágen de pdf Programación en Python - Parte II - Ejemplos

Programación en Python - Parte II - Ejemplosgráfica de visualizaciones

Publicado el 12 de Septiembre del 2019
294 visualizaciones desde el 12 de Septiembre del 2019
114,8 KB
18 paginas
Creado hace 10a (12/01/2009)
Programación en Python --- Parte II - Ejemplos

Índice

Author: Patricio Páez Serrato
Date:

9 de Abril de 2004

1 Historia del documento

2 Introducción

2.1 Requisitos
2.2 Cómo realizar los ejemplos

3 Números grandes

3.1 Agregando las comas

4 Manejo de información

5 Generación de documentos HTML

5.1 Usando funciones
5.2 Usando una clase

6 Interfase gráfica de usuario

6.1 Introducción
6.2 Un editor
6.3 Usando una clase

7 Servidor HTTP

8 Toques finales

8.1 Documentación
8.2 Prueba de módulos

1 Historia del documento

Este documento fué creado el 8 de Abril de 2004. Primera publicación el 27 de Junio de 2004. Segunda
edición: 29 de Diciembre de 2008.

Para sugerencias,correcciones o preguntas acerca de este en documento, escribir a: nospam en pp

punto com punto mx

El original de este documento se encuentra en http://pp.com.mx/python
Derechos Reservados (c) Patricio Páez Serrato, México 2004, 2006, 2008

1

2 Introducción

La primera parte de este documento es una referencia del lenguaje Python, con enlaces a páginas de
interés (se encuentra en http://pp.com.mx/python). Esta segunda parte recopila los ejemplos que he
mostrado cuando imparto el Tutorial de Python. Empiezan por algo muy sencillo, y combinando hasta
llegar a algo más complejo. No por ser sencillos dejan de ser útiles, y como menciono durante el tutorial:
los resultados de estos ejemplos pueden crecer y convertirse en sus propios conjuntos de herramientas.

2.1 Requisitos

Los ejemplos pueden realizarse tanto en una PC con MS-Windows, Unix o Linux siempre y cuando
Python corra. Pueden usarse las versiones 1.5.2, y 2.0 en adelante. Los ejemplos tratan conceptos
generales y procuran no usar características únicas en las versiones más recientes.

Todos los ejemplos, excepto las interfases gráficas pueden hacerse en modo texto, usando prefer-
entemente un editor que resalte la sintaxis de Python como Vim, emacs, Scite y otros. Los usuarios de
MS-Windows pueden instalar algunos de estos editores del CD Gnuwin.

Los ejemplos con Tkinter requieren tener el conjunto de funciones gráficas Tk así como el modulo de
Python Tkinter que lo accesa. Ambos vienen incluídos en el instalador de Python para MS-Windows
y se instalan cuando se aceptan todas las opciones del instalador sin modificación. En Linux el lector
puede verificar mediante este comando:

[usuario@pc]$ rpm -qa | grep ^tk
tk-8.3.3-7mdk
tkinter-2.1.1-3mdk

2.2 Cómo realizar los ejemplos

Programar en Python puede hacerse de varias maneras según la necesidad o el gusto de cada persona.
Para los neófitos mi recomendación es que utilicen el ambiente gráfico interactivo llamado idle. Esta
herramienta viene incluída con el módulo tkinter. Además de resaltar la sintaxis en colores, permite
editar archivos fuente y es más amigable al inicio.

El idle tiene dos ambientes: el shell interactivo con título Python Shell en su ventana; muestra
el prompt >>> y espera un comando, y uno o más editores que se abren con el menú File --> New
Window. Cada editor empieza con el título Untitled en su ventana, el cual cambia hasta que se salva a
un archivo con File --> Save As (y subsecuentemente File --> Save). Cada editor nos permite ejecutar
el código Python que contiene.

Se recomienda crear una carpeta para realizar y guardar los ejemplos. Para correr idle, cambiar

primero a esa carpeta y entonces correr idle: En MS- Windows:

C:\ejemplos> C:\python22\idle\idle

En Linux:

[usuario@pc ejemplos]$ idle &

La primera vez que hacen un ejemplo, intenten hacerlo paso a paso en forma interactiva en el shell,

tecleando cada comando. Es la forma en que aprenderán más que si simplemente copian y pegan.

Una vez que ya teclearon y funcionaron las cosas, entonces copien del shell interactivo y peguen a
una ventana de editor y salven en un archivo con terminación .py para que conserven lo que hicieron
para la posteridad.

2

3 Números grandes

Podemos explorar los enteros largos de Python si hacemos una tabla de potencias de 2, evaluando 2ˆn
mientras n varía de 0 a n.

>>> for n in range(60):

print n, 2**n

El resultado será:

0 1
1 2
2 4
3 8
4 16
5 32
6 64
7 128
8 256
9 512
10 1024
11 2048
12 4096
13 8192
14 16384
15 32768
16 65536
17 131072
18 262144
19 524288
20 1048576
21 2097152
22 4194304
23 8388608
24 16777216
25 33554432
26 67108864
27 134217728
28 268435456
29 536870912
30 1073741824
31 2147483648
32 4294967296
33 8589934592
34 17179869184
35 34359738368
36 68719476736
37 137438953472
38 274877906944
39 549755813888
40 1099511627776
41 2199023255552
42 4398046511104
43 8796093022208

3

44 17592186044416
45 35184372088832
46 70368744177664
47 140737488355328
48 281474976710656
49 562949953421312
50 1125899906842624
51 2251799813685248
52 4503599627370496
53 9007199254740992
54 18014398509481984
55 36028797018963968
56 72057594037927936
57 144115188075855872
58 288230376151711744
59 576460752303423488

Nota: desde la versión 2.2 de Python, si el resultado de una expresión entera excede el límite de
los enteros (2ˆ32 generalmente), éste es convertido automáticamente a entero largo. (mostrado con
terminación L en el ambiente interactivo):

>>> 12345678901234
12345678901234L

En versiones 2.1 y anteriores tendremos un error:

>>> 12345678901234
OverflowError: integer literal too large

En el ejemplo anterior, lo que tendremos que hacer en este caso es agregar L al final del 2:

>>> for n in range(60):

print n, 2L{*}{*}n

3.1 Agregando las comas

Los números muy grandes son difíciles de entender sin las comas que normalmente usamos. Vamos
entonces a definir una función que agregue las comas. Los pasos necesarios serían:

• Convertir a cadena, para poder tomar cada dígito.

• Recorrer la cadena de derecha a izquierda, de tres en tres dígitos. Se inserta la coma cada vez si

todavía quedan más de tres dígitos a la izquierda.

Al probar la función en el código anterior, remplazamos 2**n con poncoma(2**n) y además formamos

columnas con el operador %:

def poncoma( n ):

"Regresa n como cadena con comas."
s = str(n)
pos = len(s)
while pos > 3:

pos = pos - 3
s = s[:pos] + ’,’ + s[pos:]

return s

4

for n in range(60):

print ’%3d %30s’ % ( n, poncoma( 2**n ) )

Nota sobre versiones de Python: en las versiones 1.5.2 hasta 2.0, podemos utilizar la función rjust()
del módulo string. Necesitaremos incluir el comando import string al principio del ejemplo*,* y referir
la función como string.rjust(str(n), 3) y string.rjust(poncoma(2**n), 30). A partir de las versión 2.1
todas las cadenas y las funciones que regresan cadena tienen la función rjust() incluída, y podríamos
usar str(n).rjust(3) y poncoma(2**n).rjust(30).

El resultado será ahora más legible:

0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42

1
2
4
8
16
32
64
128
256
512
1,024
2,048
4,096
8,192
16,384
32,768
65,536
131,072
262,144
524,288
1,048,576
2,097,152
4,194,304
8,388,608
16,777,216
33,554,432
67,108,864
134,217,728
268,435,456
536,870,912
1,073,741,824
2,147,483,648
4,294,967,296
8,589,934,592
17,179,869,184
34,359,738,368
68,719,476,736
137,438,953,472
274,877,906,944
549,755,813,888
1,099,511,627,776
2,199,023,255,552
4,398,046,511,104

5

43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59

8,796,093,022,208
17,592,186,044,416
35,184,372,088,832
70,368,744,177,664
140,737,488,355,328
281,474,976,710,656
562,949,953,421,312
1,125,899,906,842,624
2,251,799,813,685,248
4,503,599,627,370,496
9,007,199,254,740,992
18,014,398,509,481,984
36,028,797,018,963,968
72,057,594,037,927,936
144,115,188,075,855,872
288,230,376,151,711,744
576,460,752,303,423,488

Le dejamos al lector el ejercicio de mejorar poncoma() añadiendo instrucciones para que acepte

números con signo negativo, y con decimales.

4 Manejo de información

Hace años al Departamento de Informática se le llamaba de Procesamiento Electrónico de Datos (Elec-
tronic Data Processing en Inglés, con las siglas EDP). El nombre antiguo era más descriptivo de la labor
que se supone debían realizar las computadoras. Aquí mostraremos cómo hacemos esto en Python, con
un conjunto de datos pequeño pero real.

Tenemos la siguiente información en el archivo capitales.txt:

México,D.F.
Aguascalientes,Aguascalientes
Tijuana,Baja California
Mexicali,Baja California Sur
Campeche,Campeche
Tuxtla Gutiérrez,Chiapas
Chihuahua,Chihuahua
Saltillo,Coahuila
Colima,Colima
Durango,Durango
Toluca,Edo. de México
Chilpancingo,Guerrero
Guanajuato,Guanajuato
Pachuca,Hidalgo
Guadalajara,Jalisco
Morelia,Michoacán
Cuernavaca,Morelos
Tepic,Nayarit
Monterrey,Nuevo León
Oaxaca,Oaxaca
Puebla,Puebla
Querétaro,Querétaro
Chetumal,Quintana Roo

6

Culiacán,Sinaloa
Hermosillo,Sonora
San Luis Potosí,San Luis Potosí
Villa Hermosa,Tabasco
Tampico,Tamaulipas
Tlaxcala,Tlaxcala
Jalapa,Veracruz
Mérida,Yucatán
Zacatecas,Zacatecas

Son los nombres de los Estados mexicanos con su ciudad capital. Primero la capital, seguida de una

coma y el nombre del Estado.

A continuación vamos a leer esta pequeña ’base de datos’ a una cadena en Python, la vamos a
convertir a una lista de registros, luego separaremos los campos de cada registro. El lector puede ir
haciendo primero estos pasos en forma interactiva, revisando los resultados:

# Leemos el archivo a una cadena:

f = open( ’capitales.txt’ )
datos = f.read()

# Partimos la cadena a una lista cuyos elementos son
# los registros de nuestra ’base de datos’

import string
lista = string.split( datos, ’\n’ )
print lista

# Convertimos cada elemento de la lista a una pareja,
# usamos una función lambda:

pares = map( lambda e: string.split( e, ’,’), lista )

print pares

# Podemos crear una lista para cada campo:
# una lista de capitales y otra lista de estados.
# Esta es una forma de obtenerlas:

capitales = []
estados = []
for capital,estado in pares:

capitales.append( capital )
estados.append( estado )

# Cómo determinar los nombres ún
  • Links de descarga
http://lwp-l.com/pdf16566

Comentarios de: Programación en Python - Parte II - Ejemplos (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad

Revisar política de publicidad