Download - Funciones y Modulos
-
7/23/2019 Funciones y Modulos
1/7
PROYECTO CREACIN Y COLECCIN DE FUNCIONES PARA GRAFICAR
MICHELL ALEXANDRA RADA AGUDELO
MARCOS DANIEL RUIZ CORREA
UNIVERSIDAD DE ANTIOQUIA
2015
-
7/23/2019 Funciones y Modulos
2/7
INTRODUCCION
Este proyecto se realiz con el fin de resumir de manera prctica toda la teoravista hasta ahora en el curso de algoritmos y programacin, desde temas comouso de condicionales y ciclos, hasta creacin de funciones y graficacin de las
mismas.Aunque se evidencia que en este proyecto se aplica cada tema, principalmentese orienta a la creacin y utilizacin de mdulos por lo que en este documentose explicar principalmente para que sirven, como se crean, a donde se ubican,entre otros.
-
7/23/2019 Funciones y Modulos
3/7
Mdu!" #$ P%&'!$
n mdulo es un archivo conteniendo definiciones y declaraciones de !ython.El nombre del archivo es el nombre del mdulo con el sufi"o .py agregado.#ada mdulo tiene asignado un espacio de nombres y dentro de ese espacio
de nombres puede haber cualquier cantidad de ob"etos.En algunos lengua"es de programacin, todas las funciones, variables yconstantes de la librera se quedan disponibles en el espacio de nombresglobal. #uando se incluyen muchas libreras y el cdigo se hace muy grande,se corre el peligro de contaminar el espacio de nombres $namespace pollution%.
#on los mdulos de !ython no suceden este tipo de inconvenientes. Entreotras venta"as se encuentran&
'as funciones y variables deben ser definidas solo una vez, y luegopueden ser utilizadas en muchos programas sin necesidad de reescribir
el cdigo.
permiten que un programa pueda ser organizado en varias seccioneslgicas, puestas cada una en un archivo separado.
hacen ms fcil compartir componentes con otros programadores.
'os mdulos pueden importar otros mdulos .Es costumbre pero no
obligatorio el ubicar todas las declaraciones()*!+& al principio delmdulo $o script, para el caso%. 'os 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. n paquete es
un mdulo de python que contiene otros mdulos y(o paquetes. 'a diferencia
entre un mdulo y un paquete es que el paquete contiene un atributo *,&' que
indica la ruta en el disco duro donde est almacenado el paquete.
En python, los archivos con extensin .py son mdulos, mientras que cualquierdirectorio que contenga un archivo con el nombre ))init)).py se convierte en
un paquete.
-
7/23/2019 Funciones y Modulos
4/7
Mdu!" *+#"#$" #$ P%&'!$
*stos son algunos de los mdulos estndares de !ython, que pueden ser
usados desde cualquier programa.
El mdulo mathcontiene funciones y constantes matemticas&
--- .+!)),&'()*!+&floor, radians--- floor$+.-%+./--- radians$01/%2.030-421-5-20
El mdulo randomcontiene funciones para producir n6meros aleatorios $es
decir, al azar%&
--- .+!)+,$d!)()*!+&choice, randrange,--- choice$78cara8, 8sello89%8cara8--- choice$78cara8, 8sello89%8sello8--- choice$78cara8, 8sello89%8sello8--- randrange$0/%5--- randrange$0/%4--- randrange$0/%--- r :range$%--- r7/, 0, 4, 2, 39--- shuffle$r%--- r73, 4, /, 2, 09
El mdulo datetimeprovee tipos de datos para manipular fechas y horas&
--- .+!)d,&()#()*!+&date--- hoy :date$4/00, , 20%--- fin)del)mundo :date$4/04, 04, 40%--- $fin)del)mundo +hoy%.days5/
El mdulo fractionsprovee un tipo de datos para representar n6meros
racionales&
--- .+!).+,/&(!$"()*!+&;raction--- a :;raction$, 04%
http://docs.python.org/library/math.htmlhttp://docs.python.org/library/random.htmlhttp://docs.python.org/library/datetime.htmlhttp://docs.python.org/library/fractions.htmlhttp://docs.python.org/library/math.htmlhttp://docs.python.org/library/random.htmlhttp://docs.python.org/library/datetime.htmlhttp://docs.python.org/library/fractions.html -
7/23/2019 Funciones y Modulos
5/7
--- b :;raction$-, 5%--- a
-
7/23/2019 Funciones y Modulos
6/7
C+#,/($ d# )du!"
n mdulo sencillo es simplemente un archivo con cdigo en !ython. El
nombre del archivo indica cul es el nombre del mdulo.
!or e"emplo, podemos crear un archivo llamado pares.pyque tenga funcionesrelacionadas con los n6meros pares&d#.es)par$n%& +#&u+$n I4::/
d#.es)impar$n%& +#&u+$$!&es)par$n%
d#.pares)hasta$n%& +#&u+$range$/, n, 4%
En este caso, el nombre del mdulo es pares. !ara poder usar estas funcionesdesde otro programa, el archivo pares.pydebe estar en la misma carpeta que
el programa.
!or e"emplo, el programa mostrar)pares.pypuede ser escrito as&.+!)*,+#"()*!+&pares)hasta
n :int$ra@)input$8Jngrese un entero& 8%%*+($&8'os numeros pares hasta8, n, 8son&8.!+i ($pares)hasta$n%& *+($&i
K el programa ver)si)es)par.pypuede ser escrito as&()*!+&*,+#"
n :int$ra@)input$8Jngrese un entero& 8%%(.pares.es)par$n%& *+($&n, 8es par8#"#& *+($&n, 8no es par8
#omo se puede ver, ambos programas pueden usar los ob"etos definidos en el
mdulo simplemente importndolos.I)*!+&,/($ d# )du!"
'a sentencia importimporta ob"etos desde un mdulo para poder ser usados
en el programa actual.
na manera de usar importes importar slo los nombres especficos que uno
desea utilizar en el programa&.+!)),&'()*!+&sin, cos*+($&sin$0/%*+($&cos$4/%
-
7/23/2019 Funciones y Modulos
7/7
En este caso, las funciones siny cosno fueron creadas por nosotros, sino
importadas del mdulo de matemticas, donde estn definidas.
'a otra manera de usar importes importando el mdulo completo, y
accediendo a sus ob"etos mediante un punto&
()*!+&),&'*+($&math.sin$0/%*+($&math.cos$0/%
'as dos formas son equivalentes. #omo siempre, hay que optar por la que
hace que el programa sea ms fcil de entender.
U"! d# )du!"
n archivo con extensin .pypuede ser un mdulo o un programa. Di es un
mdulo, contiene definiciones que pueden ser importadas desde un programa odesde otro mdulo. Di es un programa, contiene cdigo para ser e"ecutado.
A veces, un programa tambiLn contiene definiciones $por e"emplo, funciones y
variables% que tambiLn pueden ser 6tiles desde otro programa. Din embargo,
no pueden ser importadas, ya que al usar la sentencia importel programa
completo sera e"ecutado. 'o que ocurrira en este caso es que, al e"ecutar el
segundo programa, tambiLn se e"ecutara el primero.
Existe un truco para evitar este problema& siempre que hay cdigo siendo
e"ecutado, existe una variable llamada))name)). #uando se trata de unprograma, el valor de esta variable es 8))main))8, mientras que en un mdulo,
es el nombre del mdulo.
!or lo tanto, se puede usar el valor de esta variable para marcar la parte del
programa que debe ser e"ecutada al e"ecutar el archivo, pero no al importarlo.
3((!4+,.,
http&((blog.noenieto.com(blog(html(4/03(/3(4(modulos)y)paquetes)en)python.html
http&((docs.python.org.ar(tutorial(4(modules.html
http&((progra.usm.cl(apunte(materia(modulos.html
http://blog.noenieto.com/blog/html/2014/04/25/modulos_y_paquetes_en_python.htmlhttp://blog.noenieto.com/blog/html/2014/04/25/modulos_y_paquetes_en_python.htmlhttp://docs.python.org.ar/tutorial/2/modules.htmlhttp://progra.usm.cl/apunte/materia/modulos.htmlhttp://blog.noenieto.com/blog/html/2014/04/25/modulos_y_paquetes_en_python.htmlhttp://blog.noenieto.com/blog/html/2014/04/25/modulos_y_paquetes_en_python.htmlhttp://docs.python.org.ar/tutorial/2/modules.htmlhttp://progra.usm.cl/apunte/materia/modulos.html