Sei sulla pagina 1di 7

PROYECTO CREACIN Y COLECCIN DE FUNCIONES PARA GRAFICAR

MICHELL ALEXANDRA RADA AGUDELO

MARCOS DANIEL RUIZ CORREA

UNIVERSIDAD DE ANTIOQUIA
2015

INTRODUCCION
Este proyecto se realiz con el fin de resumir de manera prctica toda la teora
vista hasta ahora en el curso de algoritmos y programacin, desde temas como
uso de condicionales y ciclos, hasta creacin de funciones y graficacin de las
mismas.
Aunque se evidencia que en este proyecto se aplica cada tema, principalmente
se orienta a la creacin y utilizacin de mdulos por lo que en este documento
se explicar principalmente para que sirven, como se crean, a donde se ubican,
entre otros.

Mdulos en Python
Un mdulo es un archivo conteniendo definiciones y declaraciones de Python.
El nombre del archivo es el nombre del mdulo con el sufijo .py agregado.
Cada mdulo tiene asignado un espacio de nombres y dentro de ese espacio
de nombres puede haber cualquier cantidad de objetos.
En algunos lenguajes de programacin, todas las funciones, variables y
constantes de la librera se quedan disponibles en el espacio de nombres
global. Cuando se incluyen muchas libreras y el cdigo se hace muy grande,
se corre el peligro de contaminar el espacio de nombres (namespace pollution).
Con los mdulos de Python no suceden este tipo de inconvenientes. Entre
otras ventajas se encuentran:

Las funciones y variables deben ser definidas solo una vez, y luego
pueden ser utilizadas en muchos programas sin necesidad de reescribir
el cdigo.

permiten que un programa pueda ser organizado en varias secciones


lgicas, puestas cada una en un archivo separado.

hacen ms fcil compartir componentes con otros programadores.

Los mdulos pueden importar otros mdulos .Es costumbre pero no


obligatorio el ubicar todas las declaraciones import al principio del
mdulo (o script, para el caso). Los nombres de los mdulos importados
se ubican en el espacio de nombres global del mdulo que hace la
importacin.

Adems de los mdulos, python tiene el concepto de paquetes. Un paquete es


un mdulo de python que contiene otros mdulos y/o paquetes. La diferencia
entre un mdulo y un paquete es que el paquete contiene un atributo path que
indica la ruta en el disco duro donde est almacenado el paquete.
En python, los archivos con extensin .py son mdulos, mientras que cualquier
directorio que contenga un archivo con el nombre __init__.py se convierte en
un paquete.

Mdulos presentes en Python


stos son algunos de los mdulos estndares de Python, que pueden ser
usados desde cualquier programa.
El mdulo math contiene funciones y constantes matemticas:
>>> from math import floor, radians
>>> floor(-5.9)
-6.0
>>> radians(180)
3.1415926535897931
El mdulo random contiene funciones para producir nmeros aleatorios (es
decir, al azar):
>>> from random import choice, randrange,
>>> choice(['cara', 'sello'])
'cara'
>>> choice(['cara', 'sello'])
'sello'
>>> choice(['cara', 'sello'])
'sello'
>>> randrange(10)
7
>>> randrange(10)
2
>>> randrange(10)
5
>>> r = range(5)
>>> r
[0, 1, 2, 3, 4]
>>> shuffle(r)
>>> r
[4, 2, 0, 3, 1]
El mdulo datetime provee tipos de datos para manipular fechas y horas:
>>>
>>>
>>>
>>>
570

from datetime import date


hoy = date(2011, 5, 31)
fin_del_mundo = date(2012, 12, 21)
(fin_del_mundo - hoy).days

El mdulo fractions provee un tipo de datos para representar nmeros


racionales:

>>> from fractions import Fraction


>>> a = Fraction(5, 12)

>>> b = Fraction(9, 7)
>>> a + b
Fraction(143, 84)
El mdulo turtle permite manejar una tortuga (haga la prueba!):
>>> from turtle import Turtle
>>> t = Turtle()
>>> t.forward(10)
>>> t.left(45)
>>> t.forward(20)
>>> t.left(45)
>>> t.forward(30)
>>> for i in range(10):
... t.right(30)
... t.forward(10 * i)
...
>>>
La lista completa de mdulos de Python puede ser encontrada en
la documentacin de la biblioteca estndar.

Ubicacin de modulos:
En realidad, los mdulos se buscan en la lista de directorios dada por la
variable sys.path, la cual se inicializa con el directorio que contiene al script de
entrada (o el directorio actual), PYTHONPATH, y el directorio default
dependiente de la instalacin. Esto permite que los programas en Python que
saben lo que estn haciendo modifiquen o reemplacen el camino de bsqueda
de los mdulos. Notar que como el directorio que contiene el script que se
ejecuta est en el camino de bsqueda, es importante que el script no tenga el
mismo nombre que un mdulo estndar, o Python intentar cargar el script
como un mdulo cuando ese mdulo se importe. Esto generalmente ser un
error.
Si en python tanto los mdulos y los paquetes son archivos y directorios con
archivos, la librera estndar de python se encuentra en algn lugar del sistema
de archivos. El lugar depende de si el sistema operativo es Windows, Linux,
MacOS y si el sistema es de 64 bits o de 32.
En un Fedora (distribucin Linux) 20 a 64 bits, la librera estndar se encuentra
en el directorio /usr/lib64/python2.7/. Los paquetes y mdulos que no son parte
de la librera estndar de python se encuentran en /usr/lib64/python2.7/sitepackages/gtk-2.0/. La ruta depende del sistema operativo y nunca debemos de
fiarnos de una ruta en especfico, en cambio, debemos hacer uso del mdulo
sys para saber la ruta actual donde python entra a buscar mdulos y paquetes.

Creacin de mdulos:
Un mdulo sencillo es simplemente un archivo con cdigo en Python. El
nombre del archivo indica cul es el nombre del mdulo.
Por ejemplo, podemos crear un archivo llamado pares.py que tenga funciones
relacionadas con los nmeros pares:
def es_par(n):
return n % 2 == 0
def es_impar(n):
return not es_par(n)
def pares_hasta(n):
return range(0, n, 2)
En este caso, el nombre del mdulo es pares. Para poder usar estas funciones
desde otro programa, el archivo pares.py debe estar en la misma carpeta que
el programa.
Por ejemplo, el programa mostrar_pares.py puede ser escrito as:
from pares import pares_hasta
n = int(raw_input('Ingrese un entero: '))
print 'Los numeros pares hasta', n, 'son:'
for i in pares_hasta(n):
print i
Y el programa ver_si_es_par.py puede ser escrito as:
import pares
n = int(raw_input('Ingrese un entero: '))
if pares.es_par(n):
print n, 'es par'
else:
print n, 'no es par'
Como se puede ver, ambos programas pueden usar los objetos definidos en el
mdulo simplemente importndolos.
Importacin de mdulos:
La sentencia import importa objetos desde un mdulo para poder ser usados
en el programa actual.
Una manera de usar import es importar slo los nombres especficos que uno
desea utilizar en el programa:
from math import sin, cos
print sin(10)
print cos(20)

En este caso, las funciones sin y cos no fueron creadas por nosotros, sino
importadas del mdulo de matemticas, donde estn definidas.
La otra manera de usar import es importando el mdulo completo, y
accediendo a sus objetos mediante un punto:
import math
print math.sin(10)
print math.cos(10)
Las dos formas son equivalentes. Como siempre, hay que optar por la que
hace que el programa sea ms fcil de entender.
Uso de mdulos:
Un archivo con extensin .py puede ser un mdulo o un programa. Si es un
mdulo, contiene definiciones que pueden ser importadas desde un programa o
desde otro mdulo. Si es un programa, contiene cdigo para ser ejecutado.
A veces, un programa tambin contiene definiciones (por ejemplo, funciones y
variables) que tambin pueden ser tiles desde otro programa. Sin embargo,
no pueden ser importadas, ya que al usar la sentencia import el programa
completo sera ejecutado. Lo que ocurrira en este caso es que, al ejecutar el
segundo programa, tambin se ejecutara el primero.
Existe un truco para evitar este problema: siempre que hay cdigo siendo
ejecutado, existe una variable llamada __name__. Cuando se trata de un
programa, el valor de esta variable es '__main__', mientras que en un mdulo,
es el nombre del mdulo.
Por lo tanto, se puede usar el valor de esta variable para marcar la parte del
programa que debe ser ejecutada al ejecutar el archivo, pero no al importarlo.

Bibliografa
http://blog.noenieto.com/blog/html/2014/04/25/modulos_y_paquetes_en_python
.html
http://docs.python.org.ar/tutorial/2/modules.html
http://progra.usm.cl/apunte/materia/modulos.html

Potrebbero piacerti anche