18 KiB
18 KiB
Apuntes de python de python-total
Estos apuntes y ejercicios en python han sido realizados en el trascurso del curso de python-total de Federico Garay:
¡Te recomiendo que hagas el curso y redactes tus propios apuntes! Este repositorio es para mi uso personal, pero si te sirve de ayuda, ¡pues me alegro!
Quizá encuentres aquí cosas que no están en el curso, o viceversa, son apuntes personales 😊
Índice del curso y apuntes realizados
- Día 1 - Programa un creador de nombres
- 1.1. - print
- 1.2. - strings
- 1.3. - input
- 1.4. - Proyecto del Día 1
- Día 2 - Programa un calculador de comisiones
- 2.1. - Tipos de datos
- 2.2. - Variables
- 2.3. - Nombres de variables
- 2.4. - integers & floats
- 2.5. - Conversiones
- 2.6. - Formatear cadenas
- 2.7. - Operadores matemáticos
- 2.8. - Redondeo
- 2.9. - Proyecto del Día 2
- Día 3 - Programa un analizador de texto
- 3.1. - Index( )
- 3.2. - Substrings
- 3.3. - Métodos para Strings
- 3.4. - Strings: propiedades
- 3.5. - Listas
- 3.6. - Diccionarios
- 3.7. - Tuples
- 3.8. - sets
- 3.9. - booleanos
- 3.10. - Proyecto del Día 3
- Día 4 - Programa el juego "adivina el número"
- 4.1. - Operadores de comparación
- 4.2. - Operadores lógicos
- 4.3. - Control de flujo
- 4.4. - loops while
- 4.5. - range( )
- 4.6. - enumerate( )
- 4.7. - zip( )
- 4.8. - min( ) & max( )
- 4.9. - random
- 4.10. - Comprensión de listas
- 4.11. - match
- 4.12. - Proyecto del Día 4
- Día 5 - Programa el juego "El ahorcado"
- 5.1. - Documentación
- 5.2. - Funciones
- 5.3. - return
- 5.4. - Funciones dinámicas
- 5.5. - Interacción entre funciones
- 5.6. - *args
- 5.7. - **kwargs
- 5.8. - Ejercicios
- 5.9. - Proyecto del Día 5
- Día 6 - Programa un recetario
- 6.1. - Abrir y leer archivos
- 6.2. - Crear y escribir archivos
- 6.3. - Directorios
- 6.4. - pathlib
- 6.5. - Path
- 6.6. - Limpiar la consola
- 6.7. - Archivos + funciones
- 6.8. - Proyecto del Día 6
- Día 7 - Programa una cuenta bancaria
- 7.1. - Clases
- 7.2. - Atributos
- 7.3. - Métodos
- 7.4. - Tipos de métodos
- 7.5. - Herencia
- 7.6. - Herencia extendida
- 7.7. - Polimorfismo
- 7.8. - Pilares de la Programación Orientada a Objetos
- 7.9. - Métodos especiales
- 7.10. - Proyecto del Día 7
- Día 8 - Programa una consola de turnos
- 8.1. - Instalar paquetes
- 8.2. - Módulos y paquetes
- 8.3. - Manejo de errores
- 8.4. - pylint
- 8.5. - unittest
- 8.6. - Decoradores
- 8.7. - Generadores
- 8.8. - Proyecto del Día 8
- Día 9 - Programa un buscador de números de serie
- 9.1. - Módulo collections
- 9.2. - Módulos shutil & os
- 9.3. - Módulo datetime
- 9.4. - Módulo para medir el tiempo
- 9.5. - Módulo math
- 9.6. - Expresiones regulares
- 9.7. - Comprimir y descomprimir archivos
- 9.8. - Proyecto del Día 9
- Día 10 - Programa el juego "Invasión espacial"
- 10.1. - Distancia entre dos puntos
- 10.2. - Convertir el Juego en un Archivo Ejecutable (.exe)
- Día 11 - Programa un web scraping
- 11.1. - Extraer elementos de una clase
- Día 12 - Programa un gestor de restaurantes
- Día 13 - Programa un asistente de voz
- 13.1. - Librerias y módulos
- 13.2. - Algunos problemas con las bibliotecas
- 13.3. - Enlaces
- Día 14 - Programa un controlador de asistencia
- 14.1. - Bibliotecas
- Día 15 - Programa un modelo de machine learning
- 5.1. - Bibliotecas
- 5.2. - Definiciones
- 5.3. - Cuadernos de trabajo en Colab de google drive
- Día 16 - Programa una aplicación web de tareas pendientes
- 16.1. - Entornos Virtuales
- 16.2. - Módulos
- 16.3. - Preparación de estructura de trabajo
- 16.4. - Configurar url
- 16.5. - Crear tabla de tareas
- 16.6. - Configurar la vista
- 16.7. - Configurar la vista de Detalle
- 16.8. - Crear Links a Detalle
- 16.9. - Agregar nueva tarea
- 16.10. - Formulario para nueva tarea
- 16.11. - Editar tarea
- 16.12. - Eliminar tarea
- 16.13. - Crear la lógica de Logueo / Deslogueo
- 16.14. - Formulario de Logueo / Deslogueo
- 16.15. - Restringir acceso
- 16.16. - Información específica de usuario
- 16.17. - Registrar nuevo usuario
- 16.18. - Barra de búsquedas
- 16.19. - Un estilo para todas las vistas
- 16.20. - Estilo general
- 16.21. - Estilo de barra superiores
- 16.22. - estilo de la lista
- 16.23. - Estilo de la barra de cerca
- 16.24. - Terminar el sitio
- Día 17 - Extra bibliotecas para hacking ético
- 17.1. - Bibliotecas
Índice de ficheros
python-total
├── dia_01
│ ├── main.py
│ ├── primer_proyecto.py
│ ├── programa01.py
│ └── README.md
├── dia_02
│ ├── 01_variables.py
│ ├── 02_Intengers_Floats.py
│ ├── 02_Intengers_math.py
│ ├── 03_Conversiones.py
│ ├── 04_format.py
│ ├── 05_operadores.py
│ ├── 06_programa02.py
│ └── README.md
├── dia_03
│ ├── 01_index.py
│ ├── 02_sub_strings.py
│ ├── 03_metodos.py
│ ├── 04_string.py
│ ├── 05_propiedades.py
│ ├── 06_listas.py
│ ├── 07_diccionarios.py
│ ├── 08_tuplas.py
│ ├── 09_set.py
│ ├── 10_booleanos.py
│ ├── 11_programa03.py
│ ├── __pycache__
│ └── README.md
├── dia_04
│ ├── 01_operadores_comparacion.py
│ ├── 02_operadores_logicos.py
│ ├── 03_control_de_frujo.py
│ ├── 04_for.py
│ ├── 05_while.py
│ ├── 06_rango.py
│ ├── 07_enumerador.py
│ ├── 08_zip.py
│ ├── 09_min_max.py
│ ├── 10_random.py
│ ├── 11_comprension_listas.py
│ ├── 12_match.py
│ ├── 13_programa04.py
│ └── README.md
├── dia_05
│ ├── 01_metodos_ayuda_docs.py
│ ├── 02_funciones.py
│ ├── 03_funciones_dinamicas.py
│ ├── 04_ejemplo_funcion.py
│ ├── 05_palito_mas_corto.py
│ ├── 06_lanzar_dados.py
│ ├── 07_limpiar_lista_promedio.py
│ ├── 08_lanzar_moneda.py
│ ├── 09_args_indeterminados.py
│ ├── 10_problemas_practicos.py
│ ├── 11_programa05.py
│ └── README.md
├── dia_06
│ ├── 01_abrir_manipular_archivos.py
│ ├── 02_crear_escribir_archivos.py
│ ├── 03_directorios.py
│ ├── 04_pathlib.py
│ ├── 05_path.py
│ ├── 06_limpiar_consola.py
│ ├── 07_programa06.py
│ ├── Europa
│ │ ├── Consejos.txt
│ │ ├── España
│ │ ├── Francia
│ │ └── Normativas.txt
│ ├── prueba.txt
│ ├── README.md
│ ├── Recetas
│ │ ├── Bebidas
│ │ ├── Carnes
│ │ ├── Ensaladas
│ │ ├── Pastas
│ │ ├── Postres
│ │ └── Verduras
│ └── Recetas.zip
├── dia_07
│ ├── 01_clases.py
│ ├── 02_atributos.py
│ ├── 03_metodos.py
│ ├── 04_tipos_metodos.py
│ ├── 05_herencia.py
│ ├── 06_herencia_extendida.py
│ ├── 07_polimorfismo.py
│ ├── 08_metodos_especiales.py
│ ├── 09_programa07.py
│ └── README.md
├── dia_08
│ ├── 01_pruebas_modulos
│ │ ├── moduloOcupado.py
│ │ ├── moduloVacio.py
│ │ └── __pycache__
│ ├── 02_pruebas_paquete
│ │ ├── ejercicio.py
│ │ └── paquete_ma
│ ├── 03_manejo_errores.py
│ ├── 04_probando_pylint.py
│ ├── 05_probando_pylint
│ │ ├── numeros.py
│ │ └── practica_pylint.py
│ ├── 06_probando_unittest
│ │ ├── cambia_texto.py
│ │ ├── prueba.py
│ │ └── __pycache__
│ ├── 07_decoradores.py
│ ├── 08_generadores.py
│ ├── 09_programa08
│ │ ├── numeros.py
│ │ ├── principal.py
│ │ └── __pycache__
│ └── README.md
├── dia_09
│ ├── 01_modulo_collections.py
│ ├── 02_modulo_os_shutil.py
│ ├── 03_modulo_datetime_1.py
│ ├── 03_modulo_datetime_2.py
│ ├── 04_modulo_medir_tiempo.py
│ ├── 05_modulo_math.py
│ ├── 06_modulo_re.py
│ ├── 07_modulo_comprimir_shutil.py
│ ├── 07_modulo_comprimir_zipfile.py
│ ├── 07_modulo_descomprimir_shutil.py
│ ├── 07_modulo_descomprimir_zipfile.py
│ ├── 08_Descomprimir_proyecto.py
│ ├── 09_Programa09
│ │ ├── buscador_num_serie.py
│ │ ├── Instrucciones.txt
│ │ └── Mi_Gran_Directorio
│ ├── carpeta_superior
│ │ ├── carpeta_1
│ │ ├── carpeta_2
│ │ ├── carpeta_3
│ │ ├── fichero1
│ │ └── fichero2
│ ├── extraccion_terminada
│ │ ├── carpeta_1
│ │ ├── carpeta_2
│ │ ├── carpeta_3
│ │ ├── fichero1
│ │ └── fichero2
│ ├── mi_texto_A.txt
│ ├── mi_texto_B.txt
│ ├── Proyecto+Dia+9.zip
│ ├── README.md
│ └── todo_comprimido.zip
├── dia_10
│ ├── fonts
│ │ ├── game_over.ttf
│ │ └── invaders.from.space.ttf
│ ├── img
│ │ ├── bala.png
│ │ ├── cohete.png
│ │ ├── enemigo.png
│ │ ├── extraterrestre.png
│ │ ├── Fondo.jpg
│ │ ├── ovni.png
│ │ ├── Penasolana_ajustada.jpg
│ │ └── Penasolana.jpg
│ ├── main.py
│ ├── README.md
│ └── sound
│ ├── disparo.mp3
│ ├── Golpe.mp3
│ └── MusicaFondo.mp3
├── dia_11
│ ├── 01_web_scraping_01.py
│ ├── 02_web_scraping_02.py
│ ├── mi_imagen.jpg
│ ├── nul
│ ├── programa_web_scraping.py
│ └── README.md
├── dia_12
│ ├── lista_precios.txt
│ ├── mi_restaurante.py
│ ├── Primer_recibo.txt
│ ├── README.md
│ └── segundo_recibo.txt
├── dia_13
│ ├── asistente_virtual.py
│ └── README.md
├── dia_14
│ ├── asistencia.py
│ ├── Empleados
│ │ ├── Cosmo Kramer.jpg
│ │ ├── Elaine Benes.jpg
│ │ ├── Federico Garay.jpg
│ │ ├── George Constanza.jpg
│ │ └── Jerry Seinfeld.jpg
│ ├── FotoA.jpg
│ ├── FotoB.jpg
│ ├── FotoC.jpg
│ ├── FotoD.jpg
│ ├── README.md
│ ├── reconocimiento_facial.py
│ └── registro.csv
├── dia_15
│ ├── cuaderno_machine_learning.py
│ ├── cuaderno_matplotlib.py
│ ├── cuaderno_numpy.py
│ ├── cuaderno_panda.py
│ ├── DataSet_Titanic.csv
│ ├── README.md
│ └── ventas-autos.csv
├── dia_16
│ ├── mi_web
│ │ ├── src
│ │ └── web
│ ├── README.md
│ └── web_Python_Total
│ ├── src
│ └── web
├── doc_curso
│ ├── 01_creador_de_nombres
│ │ ├── 001Print.pdf
│ │ ├── 002Strings.pdf
│ │ ├── 003Input.pdf
│ │ ├── 004Proyecto+del+Día+1.pdf
│ │ └── 005Cerveceria.py
│ ├── 02_calculador_de_comisiones
│ │ ├── 006Tipos+de+Datos.pdf
│ │ ├── 007Variables.pdf
│ │ ├── 008Los+Nombres+de+las+Variables.pdf
│ │ ├── 009Integers+y+Floats.pdf
│ │ ├── 010Conversiones+entre+Tipos+de+Datos.pdf
│ │ ├── 011Formatear+Cadenas.pdf
│ │ ├── 012Operadores+Matemáticos.pdf
│ │ ├── 013Redondeo.pdf
│ │ ├── 014Proyecto+del+Día+2.pdf
│ │ └── 015Comisiones.py
│ ├── 03_analizador_de_texto
│ │ ├── 016index(+).pdf
│ │ ├── 017Substrings.pdf
│ │ ├── 018Métodos+de+Strings.pdf
│ │ ├── 019Propiedades+de+Strings.pdf
│ │ ├── 020Listas.pdf
│ │ ├── 021Diccionarios.pdf
│ │ ├── 022Tuples.pdf
│ │ ├── 023Sets+-+Métodos.pdf
│ │ ├── 024Booleanos.pdf
│ │ ├── 025Proyecto+del+Día+3.pdf
│ │ └── 026Analizador_de_texto.py
│ ├── 04_adivinar_numero
│ │ ├── 027Operadores+de+Comparación.pdf
│ │ ├── 028Operadores+Lógicos.pdf
│ │ ├── 029Control+de+Flujo.pdf
│ │ ├── 030Loops+While.pdf
│ │ ├── 031Rango.pdf
│ │ ├── 032Enumerador.pdf
│ │ ├── 033Zip.pdf
│ │ ├── 034Min+&+Max.pdf
│ │ ├── 035Random.pdf
│ │ ├── 036Comprensión+de+Listas.pdf
│ │ ├── 037Match.pdf
│ │ ├── 038Proyecto+del+Día+4.pdf
│ │ └── 039Adivina_el_Numero.py
│ ├── 05_ahorcado
│ │ ├── 040Documentación.pdf
│ │ ├── 041Funciones.pdf
│ │ ├── 042Return.pdf
│ │ ├── 043Funciones+Dinámicas.pdf
│ │ ├── 044Interacción+entre+Funciones.pdf
│ │ ├── 045Argumentos+Indefinidos+args.pdf
│ │ ├── 046Argumentos+Indefinidos+kwargs.pdf
│ │ ├── 047Ejercicio_1.pdf
│ │ ├── 048Ejercicio_2.pdf
│ │ ├── 049Ejercicio_3.pdf
│ │ ├── 050Ejercicio_4.pdf
│ │ ├── 051Proyecto+del+Día+5.pdf
│ │ ├── 052Diagrama+Ahorcado.png
│ │ └── 053Juego_Ahorcado.py
│ ├── 06_recetario
│ │ ├── 054Abrir+y+Leer+Archivos.pdf
│ │ ├── 055Crear+y+Escribir+Archivos.pdf
│ │ ├── 056Directorios.pdf
│ │ ├── 057Pathlib.pdf
│ │ ├── 058Path.pdf
│ │ ├── 059Limpiar+la+Consola.pdf
│ │ ├── 060Archivos+y+Funciones.pdf
│ │ ├── 061Proyecto+del+Día+6.pdf
│ │ └── 062Mis_Recetas.py
│ ├── 07_cuenta_bancaria
│ │ ├── 063Clases.pdf
│ │ ├── 064Atributos.pdf
│ │ ├── 065Métodos.pdf
│ │ ├── 066Tipos+de+Métodos.pdf
│ │ ├── 067Herencia.pdf
│ │ ├── 068Herencia+Extendida.pdf
│ │ ├── 069Polimorfismo.pdf
│ │ ├── 070Métodos+Especiales.pdf
│ │ ├── 071Proyecto+del+Día+7.pdf
│ │ └── 072Cuenta_Bancaria.py
│ ├── 08_consola_de_turnos
│ │ ├── 073Instalar+Paquetes.pdf
│ │ ├── 074Módulos+y+Paquetes.pdf
│ │ ├── 075Manejo+de+Errores.pdf
│ │ ├── 076Pylint.pdf
│ │ ├── 077practica_pylint.py
│ │ ├── 078posible_solucion_pylint.py
│ │ ├── 079Unittest.pdf
│ │ ├── 080Decoradores.pdf
│ │ ├── 081Generadores.pdf
│ │ ├── 082Proyecto+del+Día+8.pdf
│ │ ├── 083numeros.py
│ │ └── 084principal.py
│ ├── 09_buscador_numeros_serie
│ │ ├── 085Módulo+Collections.pdf
│ │ ├── 086Módulo+Shutil+y+OS.pdf
│ │ ├── 087Módulo+Datetime.pdf
│ │ ├── 088Módulos+para+medir+el+tiempo.pdf
│ │ ├── 089Módulo+Math.pdf
│ │ ├── 090Expresiones+Regulares.pdf
│ │ ├── 091Comprimir+y+Descomprimir+Archivos.pdf
│ │ ├── 092Proyecto+del+Día+9.pdf
│ │ └── 093proyecto_9.py
│ ├── 10_invasion_espacial
│ │ ├── 094Distancia+entre+dos+puntos.pdf
│ │ └── 095programa_dia10
│ ├── 11_extractor_datos_web
│ │ ├── 096Extraer+Elementos+de+una+Clase.pdf
│ │ └── 097proyecto_11.py
│ ├── 12_gestor_restaurantes
│ │ ├── 098Lista_Precios.txt
│ │ └── 099mi_restaurante.py
│ ├── 13_asistente_voz
│ │ └── 100asistente_virtual.py
│ ├── 14_controlador_asistencia
│ │ └── 101asistencia.py
│ └── 16_web
│ └── 102mi_web.zip
└── img
├── dia03_01.png
├── dia03_02.png
├── dia03_03.png
├── dia03_04.png
├── dia03_05.png
├── dia03_06.png
├── dia03_07.png
├── dia03_08.png
├── dia03_09.png
├── dia03_10.png
├── dia03_11.png
├── dia03_12.png
├── dia03_13.png
├── dia03_14.png
├── dia03_15.png
├── dia03_16.png
├── dia03_17.png
├── dia03_18.png
├── dia03_19.png
├── dia03_20.png
├── dia03_21.png
├── dia05_01.png
├── dia05_02.png
├── dia06_01.png
├── dia07_01.png
├── dia07_02.png
├── dia07_03.png
├── dia08_01.png
└── dia08_02.png