{"id":37,"date":"2020-05-28T16:32:41","date_gmt":"2020-05-28T16:32:41","guid":{"rendered":"https:\/\/www.pythonparatodo.com\/?p=37"},"modified":"2020-05-30T10:43:13","modified_gmt":"2020-05-30T10:43:13","slug":"modulos","status":"publish","type":"post","link":"https:\/\/www.pythonparatodo.com\/?p=37","title":{"rendered":"M\u00f3dulos"},"content":{"rendered":"\n<p>En Python un m\u00f3dulo es una colecci\u00f3n de clases y funciones relacionadas las unas con las otras y es cualquier fichero con una funcionalidad espec\u00edfica cuyo nombre de fichero disponga de la extensi\u00f3n .py. Los m\u00f3dulos se pueden importar para ser usados posteriormente en cualquier parte del c\u00f3digo con la instrucci\u00f3n <strong>import nombre_modulo<\/strong> en varias formas.<\/p>\n\n\n\n<p>Para poner un ejemplo, suponiendo que exista un fichero llamado texto.txt en el que est\u00e1 incluida la siguiente frase:<\/p>\n\n\n\n<p><em><strong>M\u00e1s claro no canta un gallo<\/strong><\/em><\/p>\n\n\n\n<p>Se construye una clase b\u00e1sica llamada Ficheros en la que uno de los m\u00e9todos contar\u00e1 las palabras del fichero cuyo nombre se le pase como par\u00e1metro. El m\u00f3dulo encargado de ello ser\u00e1 un archivo llamado ficheros.py que incluir\u00e1 el siguiente c\u00f3digo:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"python\" class=\"language-python\">import os.path\n\nclass Ficheros:\n    def sumapalabras( self, nombrefichero ):\n        if os.path.isfile( nombrefichero):\n            with open( nombrefichero) as fichero:\n                contenido = fichero.read()\n                print( len( contenido.split() ) )\n        else:\n            print( 'El fichero no existe' )\n<\/code><\/pre>\n\n\n\n<p>Tras esto, se crea el script que usar\u00e1 el m\u00f3dulo ficheros y se llamar\u00e1 test01.py usando import y el nombre del m\u00f3dulo que es el nombre del fichero de la clase sin la extensi\u00f3n .py.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"python\" class=\"language-python\">import ficheros\n\nobjeto = ficheros.Ficheros()\nobjeto.sumapalabras(\u2018.\/texto.txt')<\/code><\/pre>\n\n\n\n<p>El resultado de ejecutar el script test01.py, es que se muestra en pantalla el n\u00famero de palabras incluidas en texto.txt que en el ejemplo resulta ser seis.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"bash\" class=\"language-bash\">python3 test01.py\n6<\/code><\/pre>\n\n\n\n<p>Algo a observar es que el archivo se llama ficheros.py y la clase Ficheros, por lo que el importar y posteriormente instanciar la clase puede resultar un poco lioso, esto se puede solucionar de varias formas, podemos cambiar el nombre al fichero o a la clase, pero tambi\u00e9n se puede importar la clase con otro nombre usando <strong>as<\/strong> como en el siguiente ejemplo:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code lang=\"python\" class=\"language-python\">import ficheros as f\nobjeto = f.Ficheros()\nobjeto.sumapalabras('.\/texto.txt')<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>En Python un m\u00f3dulo es una colecci\u00f3n de clases y funciones relacionadas las unas con las otras y es cualquier &hellip; <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[17,15,16,18,2,6],"class_list":["post-37","post","type-post","status-publish","format-standard","hentry","category-python","tag-clases","tag-modules","tag-modulos","tag-open","tag-python","tag-python3"],"_links":{"self":[{"href":"https:\/\/www.pythonparatodo.com\/index.php?rest_route=\/wp\/v2\/posts\/37","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.pythonparatodo.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.pythonparatodo.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.pythonparatodo.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.pythonparatodo.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=37"}],"version-history":[{"count":4,"href":"https:\/\/www.pythonparatodo.com\/index.php?rest_route=\/wp\/v2\/posts\/37\/revisions"}],"predecessor-version":[{"id":65,"href":"https:\/\/www.pythonparatodo.com\/index.php?rest_route=\/wp\/v2\/posts\/37\/revisions\/65"}],"wp:attachment":[{"href":"https:\/\/www.pythonparatodo.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=37"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.pythonparatodo.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=37"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.pythonparatodo.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=37"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}