Curso: Introducción a python3

python3

Python es un lenguaje de programación interpretado cuya filosofía hace hincapié en una sintaxis que favorezca un código legible.

Se trata de un lenguaje de programación multiparadigma, ya que soporta orientación a objetos, programación imperativa y, en menor medida, programación funcional. Es un lenguaje interpretado, usa tipado dinámico y es multiplataforma.

Los siguientes contenidos forman parte de un curso que he impartido para OpenWebinars en mayo de 2017.

Puedes obtener todo el contenido del curso en el repositorio GitHub. Todas las observaciones, mejoras y sugerencias son bienvenidas.

Unidades

Introducción

  1. Introducción a python
  2. Python2 us python3
  3. Instalación de python3
    • Instalación en linux debian/Ubuntu
    • Instalación en otras distribuciones linux
    • Instalación en Windows
    • Instalación en Mac
  4. Entornos de desarrollos y editores de texto
    • IDE python
    • Editores de textos
    • IDE us Editores de texto
    • Características de los editores de textos
  5. Mi primer programa en python3
    • Uso del interprete
    • Escribimos un programa
    • Ejecución de programas usando shebang
    • Guía de estilo

    Estructura del lenguaje

  6. Estructura del programa
    • Estructura de programa
    • Los comentarios
    • Palabras reservadas
    • Ejemplo
  7. Funciones y constantes predefinidas
    • Funciones predefinidas
    • Algunos ejemplos de funciones
    • Constantes predefinidas: False,True,None, …
    • Ayuda, función help()
  8. Datos
    • Literales, variables y expresiones
    • Definición, borrado y ámbito de variables
    • Operadores. Precedencia de operadores
    • Función eval()
  9. Tipos de datos
    • Clasificación de tipos de datos
    • Función type()
    • Función isistance()
  10. Trabajando con variables
    • ¿Qué es el tipado dinámico?
    • Objetos inmutables y mutables
    • Función id()
    • Operadores de identidad
    • Operadores de asignación
    • Asignación múltiple
  11. Entrada y salida estándar
    • Función input
    • Función print
    • Formateando cadenas de caracteres
    • Función format()

    Tipos de datos numéricos

  12. Tipo de datos numéricos
    • Enteros
    • Reales
    • Complejos
    • Operadores aritmético
    • Funciones predefinidas que trabajan con números
    • Operadores a nivel de bit
    • Conversión de tipos
  13. Tipo de dato booleanos
    • Tipo booleano
    • ¿Qué valores se interpretan como FALSO?
    • Operadores booleanos
    • Operadores de comparación
    • Funciones all() y any()
  14. Ejercicios de programas sencillos

    Estructuras de control

  15. Estructura de control: Alternativas
    • Alternativas simples
    • Alternativas dobles
    • Alternativas múltiples
    • Expresión reducida del if
  16. Ejercicios de alternativas

  17. Estructura de control: Repetitivas
    • while
    • for
    • Instrucciones break, continue y pass
    • Recorriendo varias secuencias. Función zip()
  18. Ejercicios de repetitivas

    Tipos de datos secuencia

  19. Tipo de datos secuencia
    • Enumeración de los tipos secuencias
    • Características principales de las secuencias
  20. Tipo de datos secuencia: listas
    • Construcción de una lista
    • Operaciones básicas con listas
    • Las listas son mutables. ¿Cómo se copian las listas?
    • Listas multidimensionales
  21. Métodos principales de listas
    • Métodos de inserción: append, extend, insert
    • Métodos de eliminación: pop, remove
    • Métodos de ordenación: reverse, sort,
    • Métodos de búsqueda: count, index
    • Método de copia: copy
  22. Ejercicios de listas

  23. Operaciones avanzadas con secuencias
    • Función map
    • Función filter
    • Función reduce
    • list comprehension
  24. Tipo de datos secuencia: Tuplas
    • Construcción de una tupla
    • Empaquetado y desempaquetado de tuplas
    • Operaciones básicas con tuplas
    • Las tuplas son inmutables
    • Métodos principales
  25. Tipo de datos secuencia: Rangos
    • Definición de un rango. Constructor range
    • Recorrido de un rango
    • Operaciones básicas con range
  26. Codificación de caracteres
    • Introducción a la codificación de caracteres
    • La codificación de caracteres en python3
    • Funciones chr() y ord()
  27. Tipo de datos cadenas de caracteres
    • Definición de cadenas. Constructor str
    • Operaciones básicas con listas
    • Las cadenas son inmutables
    • Comparación de cadenas
    • Funciones repr, ascii, bin
  28. Métodos principales de cadenas
    • Métodos de formato
    • Métodos de búsqueda
    • Métodos de validación
    • Métodos de sustitución
    • Métodos de unión y división
  29. Ejercicios de cadenas

  30. Tipo de datos binarios: bytes, bytearray
    • Definición de bytes. Constructor bytes
    • Definición de bytearray. Constructor bytearray
    • Operaciones básicas con bytes y bytearray
    • Los bytes son inmutables, los bytearray son inmutables
    • Métodos de bytes y bytearray
    • Métodos encode(), decode()
  31. Tipo de datos conjuntos: set, frozenset
    • Definición de conjuntos. Constructor set
    • Definición de frozenset. Constructor frozenset
    • Operaciones básicas con set y frozenset
    • Los set son inmutables, los frozenset son mutables
    • Métodos principales
  32. Tipo de datos iterador y generador
    • Iteradores
    • Función next(), reversed()
    • Generadores

    Tipos de datos mapas

  33. Tipo de datos mapa: diccionario
    • Definición de diccionarios. Constructor dict
    • Operaciones básicas con diccionarios
    • Los diccionarios son tipos mutables
  34. Métodos principales de diccionarios
    • Métodos de eliminación: clear
    • Métodos de agregado y creación: copy, dict.fromkeys, update, setdefault
    • Métodos de retorno: get, pop, popitem, items, keys, values
    • El tipo de datos dictviews
    • Recorridos de diccionarios
  35. Ejercicios de diccionarios

    Trabajar con ficheros

  36. Lectura y escritura de ficheros de textos
    • Función open()
    • Modos de acceso
    • Codificación de caracteres
    • Objeto fichero
    • Metodos principales
    • Recorrido de ficheros
  37. Gestionar ficheros CSV
    • Módulo csv
    • Leer ficheros CSV
    • Escribir ficheros CSV
  38. Gestionar ficheros json
    • Módulo json
    • Leer ficheros json
    • Escribir ficheros json

    Errores y Excepciones

  39. Excepciones
    • Errores sintácticos y errores de ejecución
    • Manejando excepciones. try, except, else, finally
    • Obteniendo información de las excpciones
    • Propagando excepciones. raise

    Módulos, paquetes y namespaces

  40. Módulos y paquetes
    • Módulos, paquetes
    • Ejecutando módulos como scripts
    • Importando módulos: import
    • Namespace y alias
    • Importando elementos de un módulo: from…import
    • Importando módulos desde paquetes
    • Función dir()
    • ¿Donde se encuentran los módulos?
  41. Módulos estándares: módulos de sistema
    • Módulo os
    • Ejecutar comandos del sistema operativo. Módulo subprocess
    • Módulo shutils
    • Módulos sys
    • Ejecución de scripts con argumentos
  42. Módulos estándares: módulos matemáticos
    • Módulo math
    • Módulo fractions
    • Módulo statistics
    • Módulo random
  43. Módulos estándares: módulos de hora y fechas
    • Módulo time
    • Módulo datetime
    • Módulo calendar
  44. Instalación de módulos
    • PyPI y pip
    • Instalación de módulos python
    • Creando entornos virtuales con virtualenv
    • Creando entornos virtuales con venv
    • Instalando paquetes en nuestro entorno virtual

    Programación estructurada y modular

  45. Introducción a las funciones
    • Introducción a la programación estructurada y modular
    • Definición de funciones
    • Ámbito de variables. Sentencia global
    • Parámetros formales y reales
    • Paso de parámetro por valor o por referencia
    • Llamadas a una función
  46. Conceptos avanzados sobre funciones
    • Tipos de argumentos: posicionales o keyword
    • Parámetro *
    • Argumentos arbitrarios (*args y **kwargs)
    • Desempaquetar argumentos: pasar listas y diccionarios
    • Devolver múltiples resultados
  47. Tipos especiales de funciones
    • Funciones recursivas
    • Funciones lambda
    • Decoradores
    • Funciones generadoras

    Ejercicios programación estructurada y modular

  48. Ejercicios con funciones
  49. Programación estructurada y modular: Ejemplo completo

    Programación orientada a objetos

  50. Programación orientada a objetos
    • Introducción a la Programación Orientada a Objetos
    • Definición de clase, objeto, atributos y métodos
    • Atributos de objetos
    • Método constructor init
    • Definiendo métodos. El parámetro self
    • Definición de objetos
  51. Conceptos avanzados de programación orientada a objetos I
    • Atributos de clase (estáticas)
    • Atributos privados y ocultos
    • Métodos estáticos
    • Métodos de clase (estáticos)
    • Funciones getattr,setattr,delattr,hasattr
  52. Conceptos avanzados de programación orientada a objetos II

    • Propiedades: getters, setters, deleter
    • Representación de objetos __str__ y __repr__
    • Comparación de objetos __eq__
    • Operar con objetos __add__ y __sub__
    • Más métodos especiales
  53. Polimorfismo, herencia y delegación

    • Polimorfismo
    • Herencia
    • La función super()
    • Herencia múltiple
    • Funciones issubclass() y isinstance()
    • Delegación

    Ejercicios programación orientada a objetos

  54. Programación orientadas a objetos: Ejemplo completo

Vídeos