# Ejemplos de Implementación ### Implementación practica 1. [Lists](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/01_lists/README.md#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) 2. [Tuples](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/02_tuples#tuplas) - [Creación](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/02_tuples#user-content-creación) - [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) 3. [Dictionary](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/03_dictionaries#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) 4. [Sets](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/04_sets#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) 5. [Strings](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/05_strings#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) 6. [Collections](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/06_collections#modulo-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) 7. [Itertools](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/07_itertools#itertools) - [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) 8. [Funciones Lambda](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/08_lambda_functions#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) 9. [Errores y Excepciones](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/09_exceptions_and_errors#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) 10. [Logging](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/10_logging#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) 11. [JSON](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/11_JSON#javascript-object-notation) - [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) 12. [Random Numbers](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/12_random_numbers#numeros-aleatorios) - [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) 13. [Decorators](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/13_decorators#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) 14. [Generadores](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/14_generators#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) 15. [Threading vs Multiprocessing](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/15_threading_vs_multiprocessing#threading-y-multiprocessing) - [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) 16. [Multithreading](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/16_multithreading#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) 17. [Multiprocessing](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/17_multiprocessing#multiprocessing) - [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) 18. [Argumentos de Funciones](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/18_function_arguments#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) 19. [Operador Asterisco (\*)](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/19_asterisk_operator#operador) - [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) 20. [Shallow vs Deep Copying](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/20_shallow_vs_deep_copying#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) 21. [Context Managers](https://gitea.letz.dev/devfzn/Apuntes_Python/src/branch/master/02_conceptos/21_context_managers#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) ------ ## 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** | **Logica** **`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 [Youtube/freeCodeCamp.org](https://www.youtube.com/watch?v=HGOBQPFzWKo)