{"id":17858510,"url":"https://github.com/dfleta/python-fundamentals-nb","last_synced_at":"2025-07-30T05:34:17.869Z","repository":{"id":258150508,"uuid":"863051475","full_name":"dfleta/python-fundamentals-nb","owner":"dfleta","description":"Código del libro Learning Python -5th edition- por Mark Lutz.","archived":false,"fork":false,"pushed_at":"2024-10-18T12:41:56.000Z","size":765,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-10-19T18:31:28.774Z","etag":null,"topics":["argument-mapping","dictiona","legb","list","notebook-jupyter","python","python-3","scope"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dfleta.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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-09-25T16:21:54.000Z","updated_at":"2024-10-18T12:41:59.000Z","dependencies_parsed_at":"2024-10-19T15:08:30.551Z","dependency_job_id":null,"html_url":"https://github.com/dfleta/python-fundamentals-nb","commit_stats":null,"previous_names":["dfleta/python-fundamentals-nb"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/dfleta/python-fundamentals-nb","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dfleta%2Fpython-fundamentals-nb","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dfleta%2Fpython-fundamentals-nb/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dfleta%2Fpython-fundamentals-nb/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dfleta%2Fpython-fundamentals-nb/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dfleta","download_url":"https://codeload.github.com/dfleta/python-fundamentals-nb/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dfleta%2Fpython-fundamentals-nb/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267815187,"owners_count":24148356,"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","status":"online","status_checked_at":"2025-07-30T02:00:09.044Z","response_time":70,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["argument-mapping","dictiona","legb","list","notebook-jupyter","python","python-3","scope"],"created_at":"2024-10-28T05:08:21.416Z","updated_at":"2025-07-30T05:34:17.861Z","avatar_url":"https://github.com/dfleta.png","language":"Jupyter Notebook","readme":"Fundamentos de programación en Python\n=====================================\n\nCódigo de los libros:\n\n- _Learning Python -5th edition-_ por Mark Lutz \n- _Python Notes for Professionals, free programming books_ de [GoalKicker.com](https://goalkicker.com/)\n\n## Índice de Contenidos\n\n### Conceptos Básicos\n1. [Strings](notebooks/unidad_01_strings.ipynb) - Manipulación y operaciones con cadenas de texto\n\n2. [Variables, Referencias y Objetos](notebooks/variables%20_referencias_objetos.ipynb) - Conceptos fundamentales sobre variables y objetos en Python\n   - Objetos Inmutables\n   - Objetos Mutables\n   - Shared References and Equality\n   - Cache\n\n3. [Regla LEGB](notebooks/codigo_regla_LEGB.ipynb) - Explicación de la regla de alcance LEGB\n   - GLOBAL SCOPE\n   - LEGB rule\n   - NESTED SCOPES\n   - Factory Functions: Closures\n\n### Estructuras de Datos\n1. [Operaciones sobre Listas](notebooks/operaciones_sobre_listas.ipynb) - Manipulación y operaciones con listas\n   - Basic List Operations\n   - List Iteration and Comprehension\n\n2. [Operaciones sobre Diccionarios](notebooks/operaciones_sobre_diccionarios.ipynb) - Trabajo con diccionarios y sus métodos\n   - Cambiando diccionarios in place\n   - Métodos de un objeto diccionario\n   - values\n\n3. [Conjuntos](notebooks/conjuntos.ipynb) - Operaciones y manipulación de conjuntos\n   - Operaciones sobre conjuntos\n   - Operaciones matemáticas (unión, intersección, diferencia)\n   - Supersets y subsets\n\n### Control de Flujo y Funciones\n1. [Operadores Lógicos](notebooks/operadores_logicos.ipynb) - Uso de operadores lógicos y condicionales\n   - Operadores lógicos\n   - and\n   - or\n   - Tablas de verdad\n\n2. [Argumentos](notebooks/argumentos.ipynb) - Manejo de argumentos en funciones\n   - Arguments and Shared References\n   - Special Argument-Matching Modes\n   - Arbitrary Arguments Examples\n\n3. [Excepciones](notebooks/excepciones.ipynb) - Manejo de errores y excepciones\n   - Sintaxis de la sentencia try\n   - Ejemplo try\n   - Jerarquía de Excepciones\n\n### Programación Avanzada\n1. [Módulos](notebooks/modulos.ipynb) - Importación y uso de módulos\n   - Creación módulos\n   - Uso de módulos\n   - sys.path\n   - Sentencia import\n   - Sentencia from\n   - Sentencia from *\n   - Importación única\n\n2. [List Comprehensions](notebooks/cap_14_list_comprehensions.ipynb) - Creación de listas mediante comprensión\n   - Extended List Comprehension Syntax\n   - Filter clauses: if\n   - Bucles anidados: for\n   - Tuples\n   - Range\n\n3. [Comprensiones y Generadores](notebooks/cap_20_comprehensions_and_generators.ipynb) - Uso avanzado de comprensiones y generadores\n   - List Comprehensions and Functional Tools\n   - Example: List Comprehensions and Matrixes\n   - Don't Abuse List Comprehensions: KISS\n\n### Programación Funcional\n1. [Programación Funcional](notebooks/cap_19_functional_programming_tools.ipynb) - Herramientas de programación funcional\n   - Anonymous Functions: lambda\n   - Mapping Functions over Iterables: map\n   - Multiple sequence arguments\n   - Selecting Items in Iterables: filter\n   - Combining Items in Iterables: reduce\n   - Ejercicios propuestos\n\n2. [Ejercicios Codewars Funcional](notebooks/ejercicios_codewars_functional.ipynb) - Ejercicios prácticos de programación funcional\n\n## Requisitos opcionales\n\nPara eliminar los metadatos de un _jupyter notebook_ instala el paquete [nb-clean](https://pypi.org/project/nb-clean/):\n\n### Opción 1\n\n`python -m venv venv`\n\n`source venv/bin/activate`\n\n`pip install nb-clean`\n\n### Opción 2\n\n`python -m venv venv`\n\n`source venv/bin/activate`\n\n`pip install -r requirementents.txt`\n\n\nEn mi caso, preservo las salidas de las celdas puesto que me interesa dejarlas en seguimiento `git`, ya que forman parte de la documentación. El resto de metadatos, sobretodo el número de ejecuciones de la celda, las elimino para evitar cambios en el _index_.\n\nDespues de ejecutar una o todas las celdas de un _notebook_ ejecuta desde consola:\n\n`nb-clean clean --preserve-cell-outputs conjuntos.ipynb`\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdfleta%2Fpython-fundamentals-nb","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdfleta%2Fpython-fundamentals-nb","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdfleta%2Fpython-fundamentals-nb/lists"}