https://github.com/dfleta/python-fundamentals-nb
Código del libro Learning Python -5th edition- por Mark Lutz.
https://github.com/dfleta/python-fundamentals-nb
argument-mapping dictiona legb list notebook-jupyter python python-3 scope
Last synced: 7 months ago
JSON representation
Código del libro Learning Python -5th edition- por Mark Lutz.
- Host: GitHub
- URL: https://github.com/dfleta/python-fundamentals-nb
- Owner: dfleta
- Created: 2024-09-25T16:21:54.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-10-18T12:41:56.000Z (over 1 year ago)
- Last Synced: 2024-10-19T18:31:28.774Z (over 1 year ago)
- Topics: argument-mapping, dictiona, legb, list, notebook-jupyter, python, python-3, scope
- Language: Jupyter Notebook
- Homepage:
- Size: 747 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Fundamentos de programación en Python
=====================================
Código de los libros:
- _Learning Python -5th edition-_ por Mark Lutz
- _Python Notes for Professionals, free programming books_ de [GoalKicker.com](https://goalkicker.com/)
## Índice de Contenidos
### Conceptos Básicos
1. [Strings](notebooks/unidad_01_strings.ipynb) - Manipulación y operaciones con cadenas de texto
2. [Variables, Referencias y Objetos](notebooks/variables%20_referencias_objetos.ipynb) - Conceptos fundamentales sobre variables y objetos en Python
- Objetos Inmutables
- Objetos Mutables
- Shared References and Equality
- Cache
3. [Regla LEGB](notebooks/codigo_regla_LEGB.ipynb) - Explicación de la regla de alcance LEGB
- GLOBAL SCOPE
- LEGB rule
- NESTED SCOPES
- Factory Functions: Closures
### Estructuras de Datos
1. [Operaciones sobre Listas](notebooks/operaciones_sobre_listas.ipynb) - Manipulación y operaciones con listas
- Basic List Operations
- List Iteration and Comprehension
2. [Operaciones sobre Diccionarios](notebooks/operaciones_sobre_diccionarios.ipynb) - Trabajo con diccionarios y sus métodos
- Cambiando diccionarios in place
- Métodos de un objeto diccionario
- values
3. [Conjuntos](notebooks/conjuntos.ipynb) - Operaciones y manipulación de conjuntos
- Operaciones sobre conjuntos
- Operaciones matemáticas (unión, intersección, diferencia)
- Supersets y subsets
### Control de Flujo y Funciones
1. [Operadores Lógicos](notebooks/operadores_logicos.ipynb) - Uso de operadores lógicos y condicionales
- Operadores lógicos
- and
- or
- Tablas de verdad
2. [Argumentos](notebooks/argumentos.ipynb) - Manejo de argumentos en funciones
- Arguments and Shared References
- Special Argument-Matching Modes
- Arbitrary Arguments Examples
3. [Excepciones](notebooks/excepciones.ipynb) - Manejo de errores y excepciones
- Sintaxis de la sentencia try
- Ejemplo try
- Jerarquía de Excepciones
### Programación Avanzada
1. [Módulos](notebooks/modulos.ipynb) - Importación y uso de módulos
- Creación módulos
- Uso de módulos
- sys.path
- Sentencia import
- Sentencia from
- Sentencia from *
- Importación única
2. [List Comprehensions](notebooks/cap_14_list_comprehensions.ipynb) - Creación de listas mediante comprensión
- Extended List Comprehension Syntax
- Filter clauses: if
- Bucles anidados: for
- Tuples
- Range
3. [Comprensiones y Generadores](notebooks/cap_20_comprehensions_and_generators.ipynb) - Uso avanzado de comprensiones y generadores
- List Comprehensions and Functional Tools
- Example: List Comprehensions and Matrixes
- Don't Abuse List Comprehensions: KISS
### Programación Funcional
1. [Programación Funcional](notebooks/cap_19_functional_programming_tools.ipynb) - Herramientas de programación funcional
- Anonymous Functions: lambda
- Mapping Functions over Iterables: map
- Multiple sequence arguments
- Selecting Items in Iterables: filter
- Combining Items in Iterables: reduce
- Ejercicios propuestos
2. [Ejercicios Codewars Funcional](notebooks/ejercicios_codewars_functional.ipynb) - Ejercicios prácticos de programación funcional
## Requisitos opcionales
Para eliminar los metadatos de un _jupyter notebook_ instala el paquete [nb-clean](https://pypi.org/project/nb-clean/):
### Opción 1
`python -m venv venv`
`source venv/bin/activate`
`pip install nb-clean`
### Opción 2
`python -m venv venv`
`source venv/bin/activate`
`pip install -r requirementents.txt`
En 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_.
Despues de ejecutar una o todas las celdas de un _notebook_ ejecuta desde consola:
`nb-clean clean --preserve-cell-outputs conjuntos.ipynb`