{"id":7929,"date":"2015-06-22T09:30:34","date_gmt":"2015-06-22T14:30:34","guid":{"rendered":"http:\/\/blog.espol.edu.ec\/ccpg1001\/?p=7929"},"modified":"2025-12-09T09:43:14","modified_gmt":"2025-12-09T14:43:14","slug":"funciones-librerias","status":"publish","type":"post","link":"https:\/\/blog.espol.edu.ec\/algoritmos101\/fp-unidades\/fp-u05\/funciones-librerias\/","title":{"rendered":"5.4 Funciones - librer\u00edas en Python y de Usuario"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">1. Librer\u00edas en Python<\/h2>\n\n\n\n<p>Algunas librer\u00edas vienen en la instalaci\u00f3n b\u00e1sica de Python, como por ejemplo:<\/p>\n\n\n\n<p>Revisar en el enlace: <a href=\"https:\/\/docs.python.org\/2\/library\/math.html\">https:\/\/docs.python.org\/2\/library\/math.html<\/a><\/p>\n\n\n\n<p>La librer\u00eda <strong>math<\/strong> contiene funciones matem\u00e1ticas, para usarla se la llama al inicio (import):<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><span style=\"color: #d35400\">import<\/span> math<\/code><\/pre>\n\n\n\n<p>para luego usarla como en los ejemplos .<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>math.sqrt(4)\nmath.sin(0.4)\nmath.cos(0.3)\nmath.tan(0.45)<\/code><\/pre>\n\n\n\n<p><strong>Aleatorios<\/strong> se pueden obtener al importar la librer\u00eda <strong>random<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><span style=\"color: #d35400\">import<\/span> random <span style=\"color: #d35400\">as<\/span> rnd<\/code><\/pre>\n\n\n\n<p>ejemplo de un <strong>dado<\/strong> se obtiene como:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>dado=int(rnd.random()*6)+1<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<p>Otras librer\u00edas se desarrollan por diferentes comunidades y se deben incorporar a la instalaci\u00f3n. Revisar secci\u00f3n <a href=\"https:\/\/blog.espol.edu.ec\/algoritmos101\/fprogramacion\/fp-recursos\/\" data-type=\"page\" data-id=\"13584\">Recursos<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">2. Librer\u00edas para Arreglos: Matrices, Vectores<\/h2>\n\n\n\n<figure class=\"wp-block-image alignright size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"149\" height=\"158\" src=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2015\/06\/NumpyLogo01.png\" alt=\"Numpy logo 01\" class=\"wp-image-16109\" \/><\/figure>\n\n\n\n<p><strong>Numpy<\/strong> es una librer\u00eda de funciones para manejo de matrices y vectores en matem\u00e1ticas y \u00e1lgebra.<\/p>\n\n\n\n<p><a href=\"https:\/\/www.numpy.org\">https:\/\/www.numpy.org<\/a><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><span style=\"color: #d35400\">import<\/span> numpy <span style=\"color: #d35400\">as<\/span> np\nnp.zeros(n, dtype=int)\nnp.zeros(shape=(n,n), dtype=int)\nnp.arange(2, 10, dtype=np.float)\nnp.linspace(1., 4., 6)\nnp.sin()\nnp.cos()\nnp.random.random()<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">3. Librer\u00edas para Gr\u00e1ficas<\/h2>\n\n\n\n<p>de funciones en los planos cartesianos, ver secci\u00f3n para gr\u00e1ficas usan las librer\u00edas matplotlib: <a href=\"https:\/\/matplotlib.org\/\">https:\/\/matplotlib.org\/<\/a><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"480\" height=\"88\" src=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2015\/06\/matplotlib_org.png\" alt=\"matplotlib_org\" class=\"wp-image-16110\" \/><\/figure>\n\n\n\n<pre class=\"wp-block-code\"><code><span style=\"color: #d35400\">import<\/span> matplotlib.pyplot <span style=\"color: #d35400\">as<\/span> plt<\/code><\/pre>\n\n\n\n<p>Existen algunas versiones empaquetadas de Python que permiten disponer de las librer\u00edas cient\u00edficas pre-instaladas. El proceso de instalaci\u00f3n es simplificado y se encuentra en la secci\u00f3n <a href=\"https:\/\/blog.espol.edu.ec\/algoritmos101\/fprogramacion\/fp-recursos\/winpython-sincomplicaciones\/\" data-type=\"page\" data-id=\"7074\">WinPython<\/a><\/p>\n\n\n\n<p>Ejemplos de c\u00f3mo usar las librer\u00edas gr\u00e1ficas se dan en la Unidad 8 <a href=\"https:\/\/blog.espol.edu.ec\/algoritmos101\/fp-unidades\/fp-u08\/graficas-basicas-de-funciones\/\" data-type=\"post\" data-id=\"7956\">Gr\u00e1ficas b\u00e1sicas de funciones<\/a><\/p>\n\n\n\n<p>Los algoritmos que se reutilizan y se convierten a funciones, se pueden agrupar en un <code>archivo.py<\/code>. Esto permite <strong>crear un archivo como librer\u00edas <\/strong>con funciones personalizadas.<\/p>\n\n\n\n<p>Las librer\u00edas se pueden llamar por la instrucci\u00f3n <code>import<\/code> y se usan individualmente por el nombre de la <code>funci\u00f3n()<\/code>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"ejemplo-archivo-de-librerias-personalizadas\">4. Librer\u00edas personalizadas o de Usuario<\/h2>\n\n\n\n<p>Para le ejemplo se crean dos funciones <code>sumando(a,b)<\/code> e <code>invierteletras(palabra)<\/code>&nbsp; en un solo archivo <code>politoESPOL.py<\/code>, <strong>en directorio de trabajo<\/strong>:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: python; title: ; notranslate\" title=\"\">\n# ejemplo de libreria de funciones\ndef sumando(a,b):\n    c = a + b\n    return(c)\n\ndef invierteletras(palabra):\n    n = len(palabra)\n    invertida = ''\n    for i in range(0,n,1):\n        invertida = palabra&#x5B;i] + invertida\n    return(invertida)\n<\/pre><\/div>\n\n\n<p>Archivo de programa principal <code>politoProgram.py<\/code>&nbsp; que lo va a usar en el mismo directorio de trabajo donde se encuentra el archivo <code>politoESPOL.py<\/code>,de las funciones anteriores. Esta ubicaci\u00f3n permite realizar la llamada <code>import politoESPOL as espol<\/code>.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: python; title: ; notranslate\" title=\"\">\n# probando importar funciones\nimport politoESPOL as espol\n\n# INGRESO\na = 3\nb = 5\npalabra = 'polito'\n\n# PROCEDIMIENTO\nsumado = espol.sumando(a,b)\nalreves = espol.invierteletras(palabra)\n\n# SALIDA\nprint('la suma es: ', sumado)\nprint('palabra invertida: ',alreves)\n<\/pre><\/div>\n\n\n<p>con lo que el resultado del algoritmo y las funciones personalizadas es:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>la suma es:  8\npalabra invertida:  otilop\n&gt;&gt;&gt; <\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>1. Librer\u00edas en Python Algunas librer\u00edas vienen en la instalaci\u00f3n b\u00e1sica de Python, como por ejemplo: Revisar en el enlace: https:\/\/docs.python.org\/2\/library\/math.html La librer\u00eda math contiene funciones matem\u00e1ticas, para usarla se la llama al inicio (import): para luego usarla como en los ejemplos . Aleatorios se pueden obtener al importar la librer\u00eda random ejemplo de un [&hellip;]<\/p>\n","protected":false},"author":8043,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"wp-custom-template-entrada-fp-unidades","format":"standard","meta":{"footnotes":""},"categories":[106],"tags":[],"class_list":["post-7929","post","type-post","status-publish","format-standard","hentry","category-fp-u05"],"_links":{"self":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/7929","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/users\/8043"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/comments?post=7929"}],"version-history":[{"count":6,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/7929\/revisions"}],"predecessor-version":[{"id":16302,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/7929\/revisions\/16302"}],"wp:attachment":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/media?parent=7929"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/categories?post=7929"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/tags?post=7929"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}