{"id":20986345,"url":"https://github.com/mgobeaalcoba/python_advance_concepts","last_synced_at":"2025-06-27T05:33:46.141Z","repository":{"id":247677313,"uuid":"826538688","full_name":"Mgobeaalcoba/python_advance_concepts","owner":"Mgobeaalcoba","description":"Practice POO: classes with lambda methods \u0026 Tensor and Matrix with list comprehensions","archived":false,"fork":false,"pushed_at":"2024-07-09T22:56:47.000Z","size":29,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-13T11:23:51.082Z","etag":null,"topics":["lambda-functions","lambda-methods","list-comprehension","matrix","oop","poetry","poetry-python","poo","tensor"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Mgobeaalcoba.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-07-09T22:46:02.000Z","updated_at":"2024-07-09T22:57:19.000Z","dependencies_parsed_at":"2024-07-10T03:09:41.612Z","dependency_job_id":null,"html_url":"https://github.com/Mgobeaalcoba/python_advance_concepts","commit_stats":null,"previous_names":["mgobeaalcoba/python_advance_concepts"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Mgobeaalcoba/python_advance_concepts","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mgobeaalcoba%2Fpython_advance_concepts","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mgobeaalcoba%2Fpython_advance_concepts/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mgobeaalcoba%2Fpython_advance_concepts/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mgobeaalcoba%2Fpython_advance_concepts/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Mgobeaalcoba","download_url":"https://codeload.github.com/Mgobeaalcoba/python_advance_concepts/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Mgobeaalcoba%2Fpython_advance_concepts/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262198686,"owners_count":23273895,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["lambda-functions","lambda-methods","list-comprehension","matrix","oop","poetry","poetry-python","poo","tensor"],"created_at":"2024-11-19T06:13:10.069Z","updated_at":"2025-06-27T05:33:46.122Z","avatar_url":"https://github.com/Mgobeaalcoba.png","language":"Python","readme":"### README.md\n\n# Python Advanced Concepts Practice\n\nEste repositorio contiene ejemplos y prácticas de conceptos avanzados de Python, incluyendo el uso de Poetry como gestor de paquetes, creación de matrices y tensores usando list comprehensions, y clases en Python cuyos métodos están implementados con funciones lambda.\n\n## Contenido\n\n1. [Instalación](#instalación)\n2. [Uso de Poetry](#uso-de-poetry)\n3. [Creación de Matrices y Tensores](#creación-de-matrices-y-tensores)\n4. [Clases con Métodos Lambda](#clases-con-métodos-lambda)\n5. [Contribuir](#contribuir)\n6. [Licencia](#licencia)\n\n## Instalación\n\n1. Clona este repositorio en tu máquina local.\n\n   ```bash\n   git clone https://github.com/tu-usuario/python-advanced-concepts.git\n   cd python-advanced-concepts\n   ```\n\n2. Instala Poetry si no lo tienes instalado.\n\n   ```bash\n   pip install poetry\n   ```\n\n3. Instala las dependencias del proyecto usando Poetry.\n   ```bash\n   poetry install\n   ```\n\n## Uso de Poetry\n\nEste proyecto utiliza Poetry para la gestión de dependencias y la configuración del entorno virtual.\n\n### Instalación de Dependencias\n\nPara instalar las dependencias definidas en `pyproject.toml`, usa:\n\n```bash\npoetry install\n```\n\n### Añadir Nuevas Dependencias\n\nPara añadir una nueva dependencia, usa:\n\n```bash\npoetry add \u003cnombre-dependencia\u003e\n```\n\n### Ejecución de Scripts\n\nPara ejecutar un script dentro del entorno virtual de Poetry, usa:\n\n```bash\npoetry run python \u003cruta-del-script\u003e\n```\n\n## Creación de Matrices y Tensores\n\nEn el archivo `matrices_tensores.py`, se encuentran ejemplos de cómo crear matrices y tensores utilizando list comprehensions.\n\n### Ejemplo de Matriz\n\n```python\n# Crear una matriz de 3x3\nmatriz = [[i + j for j in range(3)] for i in range(3)]\nprint(matriz)\n# Output: [[0, 1, 2], [1, 2, 3], [2, 3, 4]]\n```\n\n### Ejemplo de Tensor\n\n```python\n# Crear un tensor 3x3x3\ntensor = [[[i + j + k for k in range(3)] for j in range(3)] for i in range(3)]\nprint(tensor)\n# Output: [[[0, 1, 2], [1, 2, 3], [2, 3, 4]], [[1, 2, 3], [2, 3, 4], [3, 4, 5]], [[2, 3, 4], [3, 4, 5], [4, 5, 6]]]\n```\n\n## Clases con Métodos Lambda\n\nEn el archivo `clases_lambda.py`, se encuentran ejemplos de cómo definir clases en Python cuyos métodos están implementados utilizando funciones lambda.\n\n### Ejemplo de Clase `Persona`\n\n```python\nclass Persona:\n    def __init__(self, nombre: str, edad: int):\n        self._nombre = nombre\n        self._edad = edad\n        self.get_nombre = lambda: self._nombre\n        self.set_nombre = lambda nombre: setattr(self, '_nombre', nombre)\n        self.get_edad = lambda: self._edad\n        self.set_edad = lambda edad: setattr(self, '_edad', edad)\n        self.presentarse = lambda: f\"Hola, mi nombre es {self._nombre} y tengo {self._edad} años.\"\n\n    def __str__(self):\n        return f\"Nombre: {self.get_nombre()}, Edad: {self.get_edad()}\"\n```\n\n### Ejemplo de Clase `Docente` que Hereda de `Persona`\n\n```python\nclass Docente(Persona):\n    def __init__(self, nombre: str, edad: int, materia: str, salario: float):\n        super().__init__(nombre, edad)\n        self._materia = materia\n        self._salario = salario\n        self.get_materia = lambda: self._materia\n        self.set_materia = lambda materia: setattr(self, '_materia', materia)\n        self.get_salario = lambda: self._salario\n        self.set_salario = lambda salario: setattr(self, '_salario', salario)\n        self.enseñar = lambda: f\"Enseñando la materia {self._materia}.\"\n        self.ver_salario = lambda: f\"El salario es {self._salario}.\"\n\n    def __str__(self):\n        return f\"{super().__str__()}, Materia: {self.get_materia()}, Salario: {self.get_salario()}\"\n```\n\n### Ejemplo de Uso\n\n```python\n# Crear instancias\ndocente = Docente(\"Juan Pérez\", 40, \"Matemáticas\", 50000)\n\n# Usar los métodos definidos con lambdas\nprint(docente)  # Output: Nombre: Juan Pérez, Edad: 40, Materia: Matemáticas, Salario: 50000\nprint(docente.enseñar())  # Output: Enseñando la materia Matemáticas.\n```\n\n## Contribuir\n\n¡Las contribuciones son bienvenidas! Por favor, abre un issue o envía un pull request con mejoras, correcciones o nuevas ideas.\n\n## Licencia\n\nEste proyecto está licenciado bajo la Licencia MIT. Ve el archivo [LICENSE](LICENSE) para más detalles.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmgobeaalcoba%2Fpython_advance_concepts","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmgobeaalcoba%2Fpython_advance_concepts","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmgobeaalcoba%2Fpython_advance_concepts/lists"}