Download Modulos y Paquetes

Document related concepts
no text concepts found
Transcript
Modulos y Paquetes
Módulos
• Un módulo es un componente que provee
definiciones de funciones, variables o clases
relativas a un tema común.
• Un módulo reside en un archivo.
• Permiten (re)utilizar facilidades ya definidas
por otros sin necesidad de programarlas
(reinventar la rueda)
• Python permite al programador escribir sus
propios módulos de manera sencilla
Utilización de módulos
• Para utilizar un módulo predefinido se debe
importar en nuestro programa:
• import nombre-módulo
• Por ejemplo:
– import math
• Luego podemos utilizar las definiciiones del
módulo math:
– print "el número e es %10.7f" % math.e
– print « la raíz de 2 es " + math.sqrt(2)
• Toda definición del módulo math puede
accederse escribiendo math.nombre
Importar nombres directamente
• Se puede utilizar esta forma de importación
– from math import sqrt, e
• Eso nos permite escribir:
– print "el número e es %10.7f" % e
– print "la raíz de 2 es " + sqrt(2)
• Podemos importar todos los nombres con:
– from math import *
• En este caso las otras definiciones del módulo
no son accesibles.
Información sobre módulos
disponibles
• Para conocer todos los módulos disponibles
(biblioteca estándar de python):
• http://docs.python.org/library/
• Para obtener información sobre un módulo en
particular:
– help(nombre-módulo)
Creación de módulos
• Para crear un módulo basta con escribir un
archivo con las definiciones apropiadas:
– # file Valseq.py
– valid_sequence_dict = { "P1": "complete protein",
"F1": "protein fragment", "DL": "linear DNA", "DC":
"circular DNA", "RL": "linear RNA", "RC":"circular
RNA", "N3": "transfer RNA", "N1": "other" }
– def find_valid_key(e):
• for key,value in valid_sequence_dict.items():
– if value == e: return key
• Para utilizar este módulo:
– import ValSeq
Ubicación de los módulos
• Los módulos residen en archivos. Estos archivos
pueden ubicarse en:
– el directorio corriente
– en el directorio origen de python (PYTHONHOME), en
linux es algo así: /usr/lib/python2.6
– en los directorios definidos en la variable de ambiente
PYTHONPATH
• dentro de python se puede consultar la variable
sys.path para conocer la lista de directorios.
Paquetes
• Es un conjunto de modulos o subpaquetes
• Físicamente: un directorio (carpeta)
conteniendo archivos .py y subdirectorios
definidendo otros paquetes.
• El punto (.) se usa para describir la jerarquía
de paquetes y modulos, por ejemplo
Bio.WWW.ExPASy
BioFasta
• >>> import Bio.Fasta
• >>> handle = open("data/ceru_human.fasta")
>>> it = Bio.Fasta.Iterator(pin,
Bio.Fasta.SequenceParser())
• >>> seq = it.next()
• >>> print seq.seq
• >>> it.close()