Funciones y Modulos

download Funciones y Modulos

of 7

Transcript of 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