# 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