{"id":741,"date":"2024-04-14T11:11:58","date_gmt":"2024-04-14T11:11:58","guid":{"rendered":"https:\/\/javigomez.org\/?p=741"},"modified":"2025-09-29T20:32:51","modified_gmt":"2025-09-29T20:32:51","slug":"06-05-python-clases-modulos-y-clases","status":"publish","type":"post","link":"https:\/\/javigomez.org\/index.php\/2024\/04\/14\/06-05-python-clases-modulos-y-clases\/","title":{"rendered":"06.06 Python \u2013 Clases &#8211; M\u00f3dulos y Clases"},"content":{"rendered":"\n<pre class=\"wp-block-code\"><code><strong>Prueba.py<\/strong>\n\nfrom Persona import Persona\n\np=Persona('Javi',55)\nprint(f'Nombre: {p.nombre} : {p.edad}')\n<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code><strong>Persona.py<\/strong>\n\nclass Persona:\n    def __init__(self, nombre, edad):\n        self._nombre = nombre\n        self._edad = edad\n    @property\n    def nombre(self):\n        print(\"Obteniendo el nombre...\")\n        return self._nombre\n    @nombre.setter\n    def nombre(self, nuevo_nombre):\n        print(\"Estableciendo el nombre...\")\n        self._nombre = nuevo_nombre\n    @property\n    def edad(self):\n        print(\"Obteniendo la edad...\")\n        return self._edad\n    @edad.setter\n    def edad(self, nueva_edad):\n        print(\"Estableciendo la edad...\")\n        if nueva_edad >= 0:\n            self._edad = nueva_edad\n        else:\n            print(\"La edad no puede ser un n\u00famero negativo.\")\n\n<strong>if __name__ == '__main__':<\/strong>\n    # Crear un objeto de la clase Persona\n    persona1 = Persona(\"Juan\", 30)\n\n    # Acceder al atributo nombre utilizando el m\u00e9todo get\n    print(persona1.nombre)  # Resultado: \"Obteniendo el nombre...\" \"Juan\"\n\n    # Establecer un nuevo valor para el atributo nombre utilizando el m\u00e9todo set\n    persona1.nombre = \"Pedro\"  # Resultado: \"Estableciendo el nombre...\"\n\n    # Intentar establecer una edad negativa\n    persona1.edad = -5  # Resultado: \"Estableciendo la edad...\" \"La edad no puede ser un n\u00famero negativo.\u201c\n    persona1._edad = -4\n    print(f'Edad: {persona1._edad}')  #Edad: -4<\/code><\/pre>\n\n\n\n<p>Se puede borrar el objeto de forma explicta, para ello utilizamos el m\u00e9todo heredado __del__.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>class Persona:\n    def __init__(self, nombre, edad):\n        self._nombre = nombre\n        self._edad = edad\n    @property\n    def nombre(self):\n        return self._nombre\n    @nombre.setter\n    def nombre(self, nuevo_nombre):\n        self._nombre = nuevo_nombre\n    @property\n    def edad(self):\n        return self._edad\n    @edad.setter\n    def edad(self, nueva_edad):\n        if nueva_edad >= 0:\n            self._edad = nueva_edad\n        else:\n            print(\"La edad no puede ser un n\u00famero negativo.\")\n\n    def __del__(self):\n        print(f'Persona: {self.nombre} destruido')\n\nif __name__ == '__main__':\n    persona1 = Persona(\"Juan\", 30)\n    print(persona1.nombre)  # Resultado: \"Obteniendo el nombre...\" \"Juan\"<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-4-3 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"PYTHON U06 06 Clases import del\" width=\"1200\" height=\"900\" src=\"https:\/\/www.youtube.com\/embed\/WehhJWxRR9c?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Se puede borrar el objeto de forma explicta, para ello utilizamos el m\u00e9todo heredado __del__.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[9],"tags":[16,79,113,116,277],"class_list":["post-741","post","type-post","status-publish","format-standard","hentry","category-python","tag-import","tag-clases","tag-del","tag-destructor","tag-python"],"_links":{"self":[{"href":"https:\/\/javigomez.org\/index.php\/wp-json\/wp\/v2\/posts\/741","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/javigomez.org\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/javigomez.org\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/javigomez.org\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/javigomez.org\/index.php\/wp-json\/wp\/v2\/comments?post=741"}],"version-history":[{"count":1,"href":"https:\/\/javigomez.org\/index.php\/wp-json\/wp\/v2\/posts\/741\/revisions"}],"predecessor-version":[{"id":857,"href":"https:\/\/javigomez.org\/index.php\/wp-json\/wp\/v2\/posts\/741\/revisions\/857"}],"wp:attachment":[{"href":"https:\/\/javigomez.org\/index.php\/wp-json\/wp\/v2\/media?parent=741"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/javigomez.org\/index.php\/wp-json\/wp\/v2\/categories?post=741"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/javigomez.org\/index.php\/wp-json\/wp\/v2\/tags?post=741"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}