.. | ||
01_lists | ||
02_tuples | ||
03_dictionaries | ||
04_sets | ||
05_strings | ||
06_collections | ||
07_itertools | ||
08_lambda_functions | ||
09_exceptions_and_errors | ||
10_logging | ||
11_JSON | ||
12_random_numbers | ||
13_decorators | ||
14_generators | ||
15_threading_vs_multiprocessing | ||
16_multithreading | ||
17_multiprocessing | ||
18_function_arguments | ||
19_asterisk_operator | ||
20_shallow_vs_deep_copying | ||
21_context_managers | ||
README.md |
Ejemplos de Implementación
Implementación practica
-
Lists
- Creación
- Recorrer
- Edición
- Copia
- Compensión de listas -
Tuples
- Creación
- Indice
- Operaciónes sobre tuplas
- Slicing
- Empaquetado y Desempaquetado
- Comparativa lista-tupla -
Dictionary
- Creación
- Comprensión de diccionario
- Llaves
- Operaciones sobre diccionarios
- Recorrer, iterar
- Copia
- Fusión de diccionarios -
Sets
- Creación
- Operaciones sobre sets
- set() por comprensión
- unión, intersección y diferencia
- Copia
- frozenset() -
Strings
- Creación
- Inmutabilidad
- join()
- Indice
- Iterar string
- Funciones
- Slicing
- Formateo de strings -
Collections
- Counter
- namedtuple
- OrderedDict
- defaultdict
- deque
- ChainMap
- UserDict
- UserString
- UserList -
Itertools
- product
- permutations
- combinations, combinations_with_replacement
- accumulate (multiplicación, max)
- groupby
- infinite iterators (count, cycle, repeat) -
Funciones Lambda
- Funciónes varias
- Función que ordena
- Lambda y map
- Lambda y filter
- Lambda y reduce -
Errores y Excepciones
- Error de sintaxis *SyntaxError*
- Error de tipo *TypeError*
- Error de importación *ModuleNotFoundError*
- Error de nombre *NameError*
- Error archivo no encontrado *FileNotFoundError*
- Error de valor *ValueError*
- Error de indice *IndexError*
- Error de llave *KeyError*
- Levantar una excepción
- Assert
- Manejo de excepciones (try, except, else, finally)
- Definir excepciones y clases de error propias.(BaseException subClass) -
Logging
- Logger personalizado
- Registro de eventos/sucesos (logging)
- Logging con archivo de configuración
- Captura de stack traces
- RotatingFileHandler
- TimedRotatingFileHandler -
JSON
- Ejemplo json
- Serializing - Encoding
- Deserializing - Decoding
- Otra forma de decodificar
- Tabla de conversión Python/JSon -
Random Numbers
- Módulo Random
- Módulo Secret
- Módulo NumPy -
Decorators
- Decoradores de Funciones
- Decoradores de Clases -
Generadores
- Creación
- Fuera de rango *StopIteration*
- Ahorro de memoria
- Fibonacci -
Multithreading
- Memoria compartida entre hilos
- Queue/Cola -
Multiprocessing
- Uso de 'lock' para prevenir 'race-conditions'
- Uso de 'queue'
- Pool/Administrar multiples procesos -
Argumentos de Funciones
- Argumentos de funciones
- Desempaquetando argumentos
- Variables globales y locales
- Paso de parametros -
Operador Asterisco (*)
- Multiplicación
- Potencia/Exponente
- Creacion de lista, tupla o string
- Desempaquetando listas, tuplas o diccionarios en argumentos de funciones
- Desempaquetando contenedores
- Fusionando contenedor en una lista o diccionario
- Fusionando diccionarios -
Shallow vs Deep Copying
- Copia de elementos mutables con el modulo 'copy'
- Diferencias entre copia superficial y copia profunda (shallow & deep copying)
- Copia de Clases y Objetos -
Context Managers
- Ejemplo
- Implementación como clase personalizada
- Implementación como función
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 bitin from the left, and let the rightmost bits fall off |