# Apuntes Python
- [Curso](#curso-python)
- [Implementación de conceptos](#implementación-práctica)
- [Arbol Binario](./03_arbol_binario/README.md)
- [6 proyectos](#seis-proyectos-de-ejemplo)
- [10 proyectos](#diez-proyectos-de-ejemplo)
- [Operadores](#recordatorio-operadores)
## Curso Python
[Apuntes de curso especializado Python 2020](./01_curso/README.md#indice)
Modulo 1
- [Primeros Pasos](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_1/README.md#primeros-pasos)
- [Tipos de datos](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_1/README.md#tipos-de-datos)
- [Libreria Math](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_1/README.md#modulo-math)
- [Modulo Random](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_1/README.md#modulo-random)
- [Condicionales](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_1/README.md#condicionales)
- [Funciones](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_1/README.md#funciones)
- [Expresiones Lambda](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_1/README.md#expresiones-lambda)
- [Docstrings](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_1/README.md#docstrings)
- [Ejemplos print, if, for, range y while](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_1/README.md#ejemplos-print-if-for-range-while)
- [Sentencias brake, else y continue](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_1/README.md#sentencias-brake-else-y-continue)
- [Entorno virtual](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_1/README.md#entorno-virtual)
- [import, modulos, paquetes](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_1/README.md#import)
- [modulo fibo](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_1/README.md#modulo-fibo)
- [Iteradores](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_1/README.md#iteradores)
- [Debugger](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_1/README.md#debugger)
- [**Ejercicios:**](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_1/README.md#ejercicios)
- [Actividad 1](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_1/README.md#actividad-1)
- [Actividad 2 (dados)](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_1/README.md#actividad-dados)
Modulo 2
- [Strings Format](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_2#user-content-strings)
- [Decodificadores de strings](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_2#user-content-decodificadores-de-strings)
- [Función join](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_2#user-content-join)
- [Metodos de Strings](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_2#user-content-metodos-de-strings)
- [Constantes de la libreria string](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_2#user-content-constantes-que-define-la-libreria-string)
- [Formateo de strings](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_2#user-content-formateo-de-strings)
- [Fecha y Hora](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_2#user-content-fechas-date)
- [Datetime](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_2#user-content-datetime-hora-y-fechas)
- [Conversion a string](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_2#user-content-tiempo-a-string)
- [Excepciones](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_2#user-content-excepciones)
- [Excepcion personalizada](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_2#user-content-excepción-personalizada)
- [Context manager](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_2#user-content-context-manager)
- [Manejo de excepción IndexError](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_2#user-content-manejo-de-excepción-indexerror)
- [Otro ejm. excepción personalizada](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_2#user-content-ejemplo-de-excepción-personalizada)
- [Input/Output strings](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_2#user-content-input-output-string)
- [Leer y escribir archivos](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_2#user-content-leer-y-escribir-archivos)
- [Leer Archivos](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_2#user-content-leer-archivos)
- [Escribir en archivos](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_2#user-content-escribiendo-en-archivos)
- [Leer, Escribir CSV](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_2#user-content-leer-y-escribir-csv)
- [Datos estructurados JSON](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_2#user-content-json)
- [Matrices, Conjuntos](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_2#user-content-matrices)
- [Listas, Pilas, Colas, Stacks](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_2#user-content-listas)
- [Funciones](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_2#user-content-algunas-funciones)
- [Listas como Pilas](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_2#user-content-listas-como-pilas)
- [Listas como Colas](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_2#user-content-listas-como-colas)
- [Listas por comprensión](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_2#user-content-listas-por-comprension)
- [Buscar en lista](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_2#user-content-buscar-elemento-en-una-lista)
- [Listas por comprensión 2](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_2#user-content-comprension-de-listas-2)
- [Tuplas y secuencias](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_2#user-content-tuplas)
- [Diccionarios](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_2#user-content-diccionarios)
- [Operaciones sobre diccionarios](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_2#user-content-las-operaciones-principales-son)
- [Acceso a elementos](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_2#user-content-acceso-a-elementos-por-claves)
- [Metodos](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_2#user-content-metodos-en-los-diccionarios)
- [Iterando diccionarios](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_2#user-content-iterando-diccionarios)
- [Resumen](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_2#user-content-resumen-diccionarios)
- [Generadores](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_2#user-content-generadores)
- [Ejemplos](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_2#user-content-uso-de-generadores)
- [Decoradores](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_2#user-content-decoradores)
- [Ejercicios](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_2#user-content-ejercicios-modulo-2)
- [Verdurería](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_2#user-content-verdureria)
- [El juego del Gato](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_2#user-content-el-gato)
Modulo 3
- [Intro POO](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_3#intro-poo)
- [Polimorfismo](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_3#polimorfismo)
- [Clases](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_3#clases)
- [Herencia](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_3#herencia)
- [Variables privadas](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_3#variables-privadas)
- [Ambitos de variables](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_3#ambitos-y-espacios-de-variables)
- [Buenas practicas](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_3#buenas-practicas-poo)
- [Isomorfismo](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_3#isomorfismo)
- [Abstraccion](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_3#abstraccion)
- [Codigo repetido](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_3#eliminar-codigo-repetido)
- [Actividad - cantidad de dinero](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_3#cantidad-de-dinero)
- [Diseño con objetos](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_3#introduccion-al-diseño-con-objetos)
- [Reglas de diseño](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_3#reglas-de-diseño)
- [Mapeo con dominio de problema](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_3#mapeo-con-dominio-de-problema)
- [Subclasificacion](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_3#subclasificacion)
- [Polimorfismo, creacion de objetos](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_3#polimorfismo-respaso-creacion-de-objetos)
- [Actividad - pila](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_3#actividad-pila)
- [UML](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_3#uml)
- [Actividad UML - semaforo](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_3#actividad-uml)
- [Refactorización](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_3#refactorización-de-código)
- [Intro Test Driven Development](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_3#intro-a-test-driven-development)
- [Testing](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_3#testing)
- [Ejemplo test - factorial](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_3#ejemplos-de-test)
- [Ejemplo test - primos](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_3#test-primos)
- [Actividades](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_3#actividades)
- [Nros. Romanos](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_3#actividad-números-romanos)
- [Caja Registradora](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_3#actividad-caja-registradora)
Modulo 4
- [Bases de Datos](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_4#bases-de-datos)
- [Esquemas y datos](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_4#esquemas-y-datos)
- [Funcionalidad básica SQLiteBrowser](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_4#funcionalidad-básica-sqlitebrowser)
- [El modelo Relacional](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_4#el-modelo-relacional)
- [Integridad de Datos](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_4#integridad-de-datos)
- [Especificación SQL-2003](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_4#especificación-sql-año-2003)
- [Indices](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_4#indices)
- [Structured Query Languaje](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_4#structured-query-language)
- [Sentencias SQL](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_4#sentencias-sql)
- [SQL Joins](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_4#join)
- [SQLite - Manejo de BDs en Python](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_4#manejo-de-bases-de-datos-python)
- [Conexion a base de datos](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_4#conexiones-a-base-de-datos)
- [Cursores](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_4#cursores)
- [INSERT](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_4#guardar-objeto-en-base-de-datos)
- [SELECT](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_4#consultar-objetos)
- [UPDATE](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_4#actualizar-objetos)
- [DELETE](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_4#borrar-objetos)
- [ORM y SQLAlchemy](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_4#orm)
- [Mapeo de los modelos](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_4#mapeo-de-los-modelos)
- [Guardar Objetos](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_4#guardar-objetos)
- [Querys](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_4#querys-sqlalchemy)
- [Construyendo relación entre objetos](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_4#construyendo-relación-entre-objetos)
- [Consultando objetos relacionados](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_4#consultando-objetos-relacionados)
- [Borrando objetos](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_4#borrando-objetos)
- [Relaciones entre objetos](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_4#relaciones-entre-objetos)
- [Crear relaciones entre modelos](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_4#crear-relaciones-entre-modelos)
- [Querys 2](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_4#querys-2)
- [Relación muchos a muchos](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_4#relación-muchos-a-muchos)
- [Actividad - Sistema escuela](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/01_curso/Modulo_4#actividad-sistema-escuela)
## Implementación práctica
[Repo](./02_conceptos)
Listas
- [Creación](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/01_lists/README.md#user-content-crear-lista)
- [Recorrer](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/01_lists/README.md#user-content-explorar-lista)
- [Edición](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/01_lists/README.md#user-content-editar-lista)
- [Copia](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/01_lists/README.md#user-content-copiar-lista)
- [Compensión de listas](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/01_lists/README.md#user-content-comprensi%C3%B3n-de-listas)
Tuplas
- [Creación](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/02_tuples#user-content-creaci%C3%B3n)
- [Indice](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/02_tuples#user-content-indice)
- [Operaciónes sobre tuplas](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/02_tuples#user-content-operaciones-sobre-tuplas)
- [Slicing](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/02_tuples#user-content-slicing)
- [Empaquetado y Desempaquetado](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/02_tuples#user-content-empaquetado-y-desempaquetado-de-tuplas)
- [Comparativa lista-tupla](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/02_tuples#user-content-comparativa-entre-lista-y-tupla)
Diccionarios
- [Creación](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/03_dictionaries#user-content-creaci%C3%B3n-de-diccionario)
- [Comprensión de diccionario](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/03_dictionaries#user-content-comprensi%C3%B3n-de-diccionario)
- [Llaves](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/03_dictionaries#user-content-llaves)
- [Operaciones sobre diccionarios](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/03_dictionaries#user-content-operaciones-sobre-diccionarios)
- [Recorrer, iterar](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/03_dictionaries#user-content-recorrer%2C-iterar-diccionario)
- [Copia](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/03_dictionaries#user-content-copiar-diccionario)
- [Fusión de diccionarios](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/03_dictionaries#user-content-fusi%C3%B3n-de-diccionarios)
Sets
- [Creación](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/04_sets#crear-set)
- [Operaciones sobre sets](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/04_sets#operaciones-sobre-sets)
- [set() por comprensión](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/04_sets#set-por-comprensi%C3%B3n)
- [unión, intersección y diferencia](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/04_sets#union-intersecci%C3%B3n-y-diferencia)
- [Copia](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/04_sets#copiar-sets)
- [frozenset()](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/04_sets#frozenset)
String
- [Creación](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/05_strings#creaci%C3%B3n)
- [Inmutabilidad](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/05_strings#inmutables)
- [join()](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/05_strings#join)
- [Indice](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/05_strings#indice)
- [Iterar string](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/05_strings#iterar-string)
- [Funciones](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/05_strings#funciones)
- [Slicing](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/05_strings#slicing)
- [Formateo de strings](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/05_strings#formateo-de-strings)
Collections
- [Counter](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/06_collections#counter)
- [namedtuple](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/06_collections#namedtuple)
- [OrderedDict](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/06_collections#ordereddict)
- [defaultdict](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/06_collections#defaultdict)
- [deque](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/06_collections#deque)
- [ChainMap](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/06_collections#chainmap)
- [UserDict](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/06_collections#userdict)
- [UserString](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/06_collections#userstring)
- [UserList](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/06_collections#userlist)
Iteradores
- [product](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/07_itertools#product)
- [permutations](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/07_itertools#permutations)
- [combinations, combinations_with_replacement](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/07_itertools#combinations)
- [accumulate (multiplicación, max)](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/07_itertools#accumulate)
- [groupby](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/07_itertools#groupby)
- [infinite iterators (count, cycle, repeat)](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/07_itertools#infinite-iterators)
Funciones Lambda
- [Funciónes varias](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/08_lambda_functions#funci%C3%B3n-que-recibe-un-n%C3%BAmero-y-retorna-este-mas-10)
- [Función que ordena](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/08_lambda_functions#ordenar)
- [Lambda y map](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/08_lambda_functions#map-funci%C3%B3n-secuencia)
- [Lambda y filter](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/08_lambda_functions#filter-funci%C3%B3n-secuencia)
- [Lambda y reduce](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/08_lambda_functions#reduce-funci%C3%B3n-secuencia)
Errores y Excepciones
- [Error de sintaxis \*SyntaxError\*](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/09_exceptions_and_errors#error-de-sintaxis)
- [Error de tipo \*TypeError\*](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/09_exceptions_and_errors#error-de-tipo)
- [Error de importación \*ModuleNotFoundError\*](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/09_exceptions_and_errors#error-de-importaci%C3%B3n)
- [Error de nombre \*NameError\*](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/09_exceptions_and_errors#error-de-nombre)
- [Error archivo no encontrado \*FileNotFoundError\*](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/09_exceptions_and_errors#error-archivo-no-encontrado)
- [Error de valor \*ValueError\*](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/09_exceptions_and_errors#error-de-valor)
- [Error de indice \*IndexError\*](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/09_exceptions_and_errors#error-de-indice)
- [Error de llave \*KeyError\*](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/09_exceptions_and_errors#error-de-llave)
- [Levantar una excepción](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/09_exceptions_and_errors#levantar-una-excepci%C3%B3n)
- [Assert](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/09_exceptions_and_errors#assert)
- [Manejo de excepciones (try, except, else, finally)](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/09_exceptions_and_errors#manejo-de-excepciones)
- [Definir excepciones y clases de error propias.(BaseException subClass)](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/09_exceptions_and_errors#definir-excepciones-propias)
Logging
- [Logger personalizado](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/10_logging#logger-personalizado)
- [Registro de eventos/sucesos (logging)](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/10_logging#registro-de-eventos-sucesos-logging)
- [Logging con archivo de configuración](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/10_logging#registro-de-eventos-sucesos-logging)
- [Captura de stack traces](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/10_logging#captura-de-stack-traces)
- [RotatingFileHandler](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/10_logging#captura-de-stack-traces)
- [TimedRotatingFileHandler](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/10_logging#timedrotatingfilehandler)
JSON
- [Ejemplo json](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/11_JSON#ejemplo-json)
- [Serializing - Encoding](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/11_JSON#serializing-encoding)
- [Deserializing - Decoding](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/11_JSON#deserializing-decoding)
- [Otra forma de decodificar](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/11_JSON#otra-forma-de-codificar)
- [Tabla de conversión Python/JSon](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/11_JSON#tabla-de-conversion-formatos)
Numeros aleatoreos
- [Módulo Random](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/12_random_numbers#generar-n%C3%BAmeros-seudo-aleatorios)
- [Módulo Secret](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/12_random_numbers#secrets)
- [Módulo NumPy](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/12_random_numbers#numpy)
Decoradores
- [Decoradores de Funciones](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/13_decorators#decoradores-de-funciones)
- [Decoradores de Clases](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/13_decorators#decoradores-de-clases)
Generadores
- [Creación](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/14_generators#creaci%C3%B3n)
- [Fuera de rango \*StopIteration\*](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/14_generators#valores-fuera-de-rango)
- [Ahorro de memoria](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/14_generators#ejemplo-de-uso-para-ahorro-de-memoria)
- [Fibonacci](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/14_generators#ejemplo-secuencia-fibonacci)
Threading vs multiproceso
[Multiprocessing](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/15_threading_vs_multiprocessing#multiprocessing)
[Threading](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/15_threading_vs_multiprocessing#threading)
Multi-threading
- [Memoria compartida entre hilos](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/16_multithreading#compartiendo-memoria-entre-hilos)
- [Queue/Cola](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/16_multithreading#queue)
Multiproceso
- [Uso de 'lock' para prevenir 'race-conditions'](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/17_multiprocessing#lock)
- [Uso de 'queue'](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/17_multiprocessing#queue)
- [Pool/Administrar multiples procesos](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/17_multiprocessing#pool)
Argumentos de funciones
- [Argumentos de funciones](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/18_function_arguments#tipos-de-argumentos-de-funciones)
- [Desempaquetando argumentos](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/18_function_arguments#desempaquetando-argumentos)
- [Variables globales y locales](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/18_function_arguments#variables-globales-y-locales)
- [Paso de parametros](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/18_function_arguments#paso-de-parametros)
Operador asterisco
- [Multiplicación](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/19_asterisk_operator#multiplicaci%C3%B3n)
- [Potencia/Exponente](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/19_asterisk_operator#potencia)
- [Creacion de lista, tupla o string](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/19_asterisk_operator#crear-lista-con-elementos-repetidos)
- [Desempaquetando listas, tuplas o diccionarios en argumentos de funciones](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/19_asterisk_operator#desempaquetando-lista-y-tupla-en-argumentos-de-funcion)
- [Desempaquetando contenedores](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/19_asterisk_operator#desempaquetando-contenedor)
- [Fusionando contenedor en una lista o diccionario](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/19_asterisk_operator#fusionando-contenedor-en-una-lista-tupla-y-set)
- [Fusionando diccionarios](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/19_asterisk_operator#fusionando-diccionarios)
Copia de elementos
- [Copia de elementos mutables con el modulo 'copy'](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/20_shallow_vs_deep_copying#copia-lista)
- [Diferencias entre copia superficial y copia profunda (shallow & deep copying)](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/20_shallow_vs_deep_copying#copia-superficial-shallow-y-profunda-deep)
- [Copia de Clases y Objetos](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/20_shallow_vs_deep_copying#copiando-clases)
Context manager
- [Ejemplo](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/21_context_managers#ejemplo-de-context-manager)
- [Implementación como clase personalizada](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/21_context_managers#implem-de-context-manager-como-clase-personalizada)
- [Implementación como función](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/21_context_managers#implementacion-de-context-manager-como-funci%C3%B3n)
------
### Seis proyectos de ejemplo
[Indice](./04_seis_proyectos)
- [Web Scrapping Program](./04_seis_proyectos/01_WebScrappingProgram)
- [Renaming Bulk Files](./04_seis_proyectos/02_RenamingBulkFiles)
- [Wheather Info](./04_seis_proyectos/03_GettingWeatherInfo)
- [Countdown Timer](./04_seis_proyectos/04_CountdownTimer)
- [Password Generator](./04_seis_proyectos/05_PasswordGenerator)
- [Qr Codes](./04_seis_proyectos/06_QrCodes)
----
### Diez proyectos de ejemplo
[Indice](./05_diez_proyectos#10-beginner-python-projects-coding-course)
- [Mad Libs](./05_diez_proyectos/01-madlibs)
- [Guess Number](./05_diez_proyectos/02-guess_number)
- [Rock-Papper-Scissors](./05_diez_proyectos/03-rock_paper_scissors)
- [Hangman](./05_diez_proyectos/04-hangman)
- [Tic-Tac-Toe](./05_diez_proyectos/05-tic_tac_toe)
- [Binary Search](./05_diez_proyectos/06-binary_search)
- [Minesweeper](./05_diez_proyectos/07-minesweeper)
- [Sodoku Solver](./05_diez_proyectos/08-sudoku_solver)
- [Photo Manipulation](./05_diez_proyectos/09-photo_manipulation)
- [Markov Chain Text Composer](./05_diez_proyectos/10-markov_chain_text_composer)
----
## Recordatorio Operadores
Operador | Operación Aritmética
-:|-
**` + `** | Suma
**` % `** | Resto/Modulo
**` - `** | Resta
**` / `** | División
**`//`** | División sin decimales
**` * `** | Multiplicación
**` ** `**| Exponencial
**Operador** | **Comparación**
-:|-
**` == `** | Igual que
**` != `** | Distinto de
**` > `** | Mayor que
**` < `** | Menor que
**` >= `** | Mayor o igual que
**` <= `** | Menor o igual que
**Operador** | **Lógica**
-:|-
**`and`** | y, &&
**`or`** | o, ||
**`not`** | no, !
**Operador** | **Asignación**
-:|-
**` += `** | Suma y asigna
**` -= `** | Resta y asigna
**` *= `** | Multiplica y asigna
**` /= `** | Divide y asigna
**` %= `** | Obtiene el modulo y asigna
**` **= `** | Calcula exponente y asigna
**` //= `** | Calcula division justa y asigna
**Operador** | **Especial**
-:|-
**` is `** | Retorna True si ambas variables son el mismo objeto
**`is not`** | Retorna True si ambas variables no son el mismo objeto
**` in `** | esta en/pertenece a, retorna True de se cierto
**`not in`** | no esta en/no pertence, retorna True de ser cierto
**Operador** | **Bitwise/bit a bit**
-:|-
**` & `** | `AND` Establece cada bit como `1` si ambos bits son `1`
**` \| `** | `OR` Establece cada bit como `1` si uno de los 2 bits es `1`
**` ^ `** | `XOR` Establece cada bit como `1` si solo uno de los 2 bits es `1`
**` ~ `** | `NOT` Invierte todos los bits
**` << `** | `zero fill left shift` Shift left by pushing zeros in from the right
and let the leftmost bits fall off
**` >> `** | `signed right shift` Shift right by pushing copies of the leftmost bit
in from the left, and let the rightmost bits fall off