Uso de la biblioteca o librerías de Python con ejemplos.

Iniciado por tar3kw0rm3d, Junio 03, 2013, 01:52:22 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Junio 03, 2013, 01:52:22 PM Ultima modificación: Junio 03, 2013, 01:57:56 PM por Backtrackfire
Python dispone de una amplia colección de librerías, que simplifican nuestra tarea a la hora de escribir código. El objetivo de este tema es enseñar cómo funcionan algunas de las librerías, para que los usuarios noveles de este lenguaje tengan una base para utilizar la mayoría de las librerías disponibles, que son muchas, además de proporcionar unos consejos que, evitarán más de un dolor de cabeza o fallos inesperados a la hora de ejecutar un código.

Para comenzar, algunos enlaces que contienen una lista de las librerías que vienen con Python.

De la página oficial de Python, con la documentación actualizada, en inglés, este enlace: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta.

En español, este enlace:No tienes permitido ver los links. Registrarse o Entrar a mi cuenta.

Bien, vamos a empezar con un ejemplo, en este caso con la librería random. Como muchos ya sabréis, sirve para generar números pseudoaleatorios. El ejemplo en cuestión, es la simulación del lanzamiento de un dado normal y corriente, es decir, el código genera un número aleatorio entre el 1 y el 6.

Código: python
import random

def generar():
a = random.randint(1, 6)
print a

raw_input("Presiona INTRO para generar el numero")
generar()


Se observa claramente cómo para el uso de la librería no basta simplemente con llamarla con import random. Dentro de la librería random, existen una serie de "parámetros" u "opciones", que son necesarios que el código se ejecute adecuadamente. En este caso, dentro de la librería principal random, se llama a randint, para generar números enteros.

En lugar de randint, podríamos haber usado otro parámetro que se ajustara a nuestras necesidades.

La parte más interesante de este ejemplo, es:

Código: python
a = random.randint(1, 6)


Donde a es la variable del número que se genera, random es la librería principal, randint es el "parámetro", y entre paréntesis están los números entre los que se va a generar el número aleatorio.


En este otro ejemplo, el código calcula el logaritmo en base 10 de un número.

Código: python
import math

x = input("Numero: ")
y = math.log10(x)
print "El logaritmo de base 10 de", x, "es", y


Como véis, la forma de utilizar la librería math es muy parecida a la del código anterior, sólo que entre el paréntesis, en vez de introducir unos valores fijos, se ha introducido la variable x, que es el número que introduce el usuario.

Dejando el tema de las librerías, en este ejemplo, algo más complicado, el programa pide una serie de números, cuenta los números que se han introducido, para posteriormente hacer la media.

Código: python
def suma(x, y):
return x + y

lista = []

print "Para finalizar la introduccion de elementos para hacer la media introduzca "
print "como ultimo elemento un numero negativo (no se anadira a la media)"

a = float(input("Introduzca un numero: "))

while a >= 0:
lista.append(a)
a = float(input("Introduzca un numero: "))

lista2 = reduce(suma, lista)

dividir = len(lista)
resul = lista2/dividir

print "Resultado: ", resul



La parte más complicada es hacer que el programa pida al usuario los números, y que los vaya añadiendo a una lista. Esto se hace con un bucle while, que añade a la lista los números introducidos por el usuario hasta que se introduce un número negativo, lo que hace finalizar la introducción de números. Posteriormente el programa suma todos los números de la lista, y cuenta los números que se han introducido, una vez hecho esto, hace la media.

Por último, este código utiliza la librería ftplib, y devuelve la respuesta del servidor.

Código: python
import ftplib

HOST = raw_input("Remote host: ")

try:
b = ftplib.FTP(HOST)
print b.getwelcome()
b.quit()
b.close()

except:
print "\nError"




Aquí la librería se utiliza de otro modo, la parte más interesante de este código es:

Código: python

b = ftplib.FTP(HOST)
print b.getwelcome()
b.quit()
b.close()



Se puede apreciar que la librería no se usa de igual forma que en códigos anteriores, ya que las variables se usan mezcladas con "parámetros" de la librería ftplib, como en print b.getwelcome().

Como consejo final, si usáis un editor de textos cualquiera para escribir el código en Python, en este lenguaje los espacios son elementos muy importantes que forman parte de la propia sintaxis, ya que se usan para marcar el final de los bucles, etc... y si no se respetan ciertas pautas, el código puede generar errores al ser ejecutado.

Unos ejemplos.


Código que no funcionaría:


Código: python
def principal():
print "Hola"

principal()


Código que funcionaría:

Código: python
def principal():
print "Hola"

principal()

La única diferencia, es que en el segundo código, antes del print hay un espacio, que hay que introducir, para señalar que el print entra dentro de la función principal(). Tened esto en cuenta, porque os ahorraréis más de un dolor de cabeza a la hora de escribir código.