Está en la página 1de 35

Especialidad – Tratamiento de datos

Fundación Carlos Slim 2023

Diplomado 1: Técnico en Big Data

1. Finder
2. Curador de datos
3. Programador (orientado a objetos)
4. Administrador de bases de datos
5. Técnico en redes de datos
6. Administrador de servidores
7. Analista de datos
8. Visualizador de Big Data

Diplomado 2: Técnico en cómputo en la nube

1. Fundamentos del cómputo en la nube


2. Fundamentos de virtualización
3. Asesor de servicios de infraestructura en la nube
4. Desarrollador de aplicaciones en la nube
5. Administrador de la nube
6. Técnico en seguridad en la nube

Diplomado 3: Técnico en inteligencia de negocios

1. Evaluador de procesos
2. Analista de proyectos BI
3. Técnico de Business Analytics
4. Técnico en minería de datos
5. Visualizador de datos
6. Analista técnico en TI
7. Evaluador de indicadores clave (KPI)
8. Integrador de soluciones BI
Diplomado 1: Técnico en Big Data

1. Finder
Para la toma de decisiones un “finder” persona que usa medios electrónicos para
investigar, recopilar, organizar y almacenar información.
Nivel 1 – Lección 1: Navegadores
Página > Servidor

Nivel 1 – Lección 1: Prevención de riesgos en internet


“Malware” = daño de equipo o robo de información. Utilizar software antivirus
informático.

Nivel 1 – Lección 1: Medidas de seguridad y salud laboral


Considerar mantener limpio el lugar de trabajo, designar horario y lugar para comida,
cuidar postura.

Nivel 1 – Lección 1: Consideraciones del trabajo independiente


“Freelancer” = trabajar de manera independiente.
Ventajas: ahorrar tiempo y dinero en transporte; definir horario

Nivel 1 – Lección 2: Criterios para elegir información


No toda la información es confiable, hay 3 aspectos a evaluar en una fuente
a. Credibilidad: datos reales y comprobables. Autores / Instituciones
b. Información actualizada: para identificar tendencias (por ejemplo, economía o
avances tecnológicos) se necesita información de sitios actualizados. Para hechos
históricos: sitios confiables aunque no estén actualizados. Revisar la última fecha
de actualización del sitio. Fecha de publicación.
c. Objetividad: comparar varias referencias, revisar temas del sitio.

Nivel 1 – Lección 2: Ética en la búsqueda de información


Pautas morales para desempeñarte como un profesional. Dar crédito al autor. Establecer
políticas de búsqueda.

Nivel 1 – Lección 2: Derechos de autor


Para no incurrir en ninguna violación de derechos de autor (copyright), es importante que
identifiques la información registrada como propiedad intelectual.
Derecho patrimonial: el autor recibe dinero o puede prohibir el uso de su obra
Derecho moral: el autor puede exigir reconocimiento de “paternidad” de la obra

Nivel 1 – Lección 2: Fuentes de información


Clasificación:
Primarias: información nueva u original (publicaciones periódicas, tesis).
Secundarias: procesamiento de las fuentes primarias (enciclopedias, libros,
artículos de interpretación).

Nivel 1 – Lección 3: Atención al cliente


Ofrecer un servicio adecuado a tus clientes es fundamental en todo el proceso de
investigación.
Revisar el e-mail, confirmar de recibido el mismo día.
Hacer una llamada al cliente para entender mejor al cliente, ser breve, respetar horarios
establecidos, planificar la llamada para no sonar inseguro.

Nivel 1 – Lección 3: Delimitación del tema


Delimitar el tema de búsqueda es importante para descartar desde un inicio la información
que tu cliente no necesita. Enviar un cuestionario y guardar conversaciones. Preguntar
contexto. Llegar a un acuerdo con el cliente.

Nivel 2 – Lección 1: Motores de búsqueda.


Los motores de búsqueda y sus componentes son una herramienta fundamental en la
búsqueda de información. Google académico.

Nivel 2 – Lección 1: Palabras clave y términos relacionados


Para generar búsquedas de manera efectiva, es importante que reconozcas las palabras
necesarias que te arrojen los resultados que estás buscando.

Nivel 2 – Lección 1: Operadores de búsqueda


Al utilizar estos operadores, puedes ampliar o reducir el tema de búsqueda de acuerdo con
tus necesidades. OR, AND e NOT

Nivel 2 – Lección 2: Geolocalización


Aprovecha esta herramienta para ubicar direcciones y lugares que no conoces.

Nivel 2 – Lección 2: Extensiones


Instala estas aplicaciones para tener a la mano herramientas que agilicen tu búsqueda.

Nivel 2 – Lección 2: Herramientas colaborativas en la nube


2. Curador de datos
Diagrama modelo Entidad – Relación
Entidades = rectángulo; atributos = óvalo; relaciones = rombos; todo + flechas

Cardinalidad: Forma en que las entidades se relacionan entre sí; se lee de izquierda a
derecha y arriba hacia abajo
Relación 1 a 1 1:1
Relación 1 a muchos 1:N
Muchos a muchos N:N

Gestor de DB
DB = grandes cantidades de información; gestor = permite controlar DB
Funciones del gestor: crea la DB; manipulación del contenido; proporciona seguridad;
controla a los usuarios; recupera y restaura datos
Clasificación de gestores: por su adaptación, jerárquico, red, relacional
Por usuarios: monousuario, multiusuario dos o más
Por número de sitios: centralizado x1 PC; distribuidos varias PCs conectadas
Arquitectura: Nivel físico, nivel lógico, nivel externo (UX)
Componentes:
1) Usuarios (administradores-decide contenido y da apoyo técnico,
programadores – manipula la DB, usuario final – consulta o introduce datos).
2) Lenguaje: conjunto de instrucciones para definir y manipular
3) Diccionario de datos: guarda las definiciones de la info almacenada
4) Elementos de seguridad

Creación de la DB
Entidades, atributos y el modelo entidad-relación
Iniciar sesión como “Usuario principal-root” > Click derecho > Crear nuevo DB > Aceptar >
Agregar tabla > Agregar campos

Relación entre tablas


Llaves primarias: identificar un registro de forma única
Seleccionar tabla > Seleccionar campo > Crear nuevo índice > Primary
Llaves foráneas: campo que hace referencia a la llave primaria de otra tabla formando
relación
Seleccionar tabla > Llaves foráneas > Agregar > Configurar > Guardar
Ambas llaves deben tener el mismo tipo de dato y longitud

Manipulación de datos
Agregar: Seleccionar tabla > Pestaña Datos > Seleccionar icono + > Hacer doble click
Modificar: Seleccionar el campo de registro > Doble clic > Modificar en ventana auxiliar
(verificar que sea válido)
Eliminar: Seleccionar tabla > Pestaña Datos > Seleccionar registro > Seleccionar icono -

Integridad de datos
Curador: debe mantener la integridad de los datos
Integridad referencial: reglas para las llaves foráneas, usadas en DB relacionales
Actualización y borrado en cascada: seleccionar llave foránea > update / delete > CASCADE

Consultas básicas = búsqueda de información


Select > Realiza las búsquedas (especificar campos)
From > De que tabla se extrae la información
Búsqueda simple: consulta> select> separar campos con [,], para todos los campos
[*], clic en triangulo azul

Consultas eficientes = especificas operadores relacionales, eficientes: usar operadores


Where: Select + From = delimitar busquedas
Operadores relacionales: <; <=; >; >=; = (usar ‘ para buscar texto); !=
AND = Unir dos o más sentencias (deben concordar con todas las sentencias)
OR = Concordar con al menos una de las sentencias

Complementarios: ORDER BY

Consultas avanzadas = buscar entre dos o más tablas


INNER JOIN: definir las tablas en las que harás la consulta

Seleccionar una tabla adicional:


SELECT nombre_tabla01.nombre_campo01,
nombre_tabla01.nombre_campo.02 FROM nombre_tabla01 INNER JOIN
nombre_tabla02 ON nombre_tabla01.p_key=nombre_tabla02.f_key

Seleccionar dos tablas adicionales:


SELECT nombre_tabla01.nombre_campo01,
nombre_tabla01.nombre_campo.02 FROM nombre_tabla01 INNER JOIN
nombre_tabla02 INNER JOIN nombre_tabla03 ON
nombre_tabla01.p_key01=nombre_tabla02.f_key01 AND
nombre_tabla03.p_key02=nombre_tabla02.f_key02
Vista

Una vista es una tabla virtual que no forma parte del modelo entidad-relación y se genera
para mostrar las consultas frecuentes combinando 2 o más tablas

Crear: Gestor > Seleccionar DB > Clic derecho > Create new > Vista > Nombrarla > Ingresar
sentencia > Save

Consultar: SELECT * FROM Nombre_vista01

Mantenimiento de la DB

Es optimizar y verificar la integridad de los datos. Dar servicio de manera periódica


para evitar que se pierda información.

Clasificar por medio de índices. Crear índices por comando:

En la pestaña de consultas > INDEX Nombre_índice(campo01,campo02)

Índice desde la interfaz grafica > clic derecho sobre el campo > Crear nuevo índice
> Full text > Modificar nombre

Para agregar campos al índice > Clic derecho sobre el índice > Agregar columna >
Guardar los cambios

Comprobar la integridad de la DB: verificar los problemas que pudiera tener


utilizando las herramientas del sistema

Seleccionar Herramientas > Mantenimiento > Elegir la DB o tabla > Seleccionar la


operación a realizar > Ejecutar

Respaldo y recuperación de una DB

Respaldo lógico: copia del código de programación de la DB para crearla de nuevo

Crear carpeta de respaldo en un HDD externo > Abrir el gestor y buscar DB > Clic
derecho > Exportar DB como SQL > En la pestaña “Crear DB” y “Crear tablas” >
Seleccionar la carpeta creada > Exportar

Recuperación de una DB: En área de selección > Pestaña archivo > Cargar archivo
SQL > Seleccionar el archivo > Abrir (se carga el código) > Ejecutar
Uso de código para crear una DB por medio de SQL

Sirve para generar, manipular y consultar una DB el cuál es utilizado por programadores,
curadores y administradores

Lenguaje estructurado de consulta o SQL es el código de programación de DB, se clasifica


en:

 Lenguaje de definición: sirve para crear, modificar y borrar tablas o campos e


incluso una DB
 Lenguaje de manipulación: sirve para crear, modificar, borrar, buscar registros en la
DB

Código en el sistema gestor

Seleccionar la pestaña “Consulta” (“Query”) de la barra de herramientas > Insertar una


instrucción para generar, manipular o consultar > Ejecutar SQL > En la zona de selección
clic derecho > Actualiza (F5)

Administración de usuarios

Para mantener segura la información de la DB se debe controlar el acceso de los usuarios y


las acciones que pueden realizar

Los servidores trabajan con cuentas que tienen diferentes perfiles o privilegios en una DB o
en una tabla

Crear usuarios con la interfaz gráfica:

Iniciar sesión como usuario root > Pestaña administrar autenticación y privilegios de
usuarios > (Se abre ventana “Administrador de usuarios”) > Clic en “Agregar” > (Se habilita
pestaña de usuarios) > Escribir nombre de usuario y contraseña y seleccionar “Conexión
local” > Clic en “agregar objeto” para seleccionar la DB sobre la que tendrá privilegios >
Seleccionar que permisos dar > Clic en “guardar”

Al finalizar el proceso informar al usuario

Quitar privilegios

Clic en “Administrador” > (Se abre ventana “Administrador de usuarios”) > Seleccionar al
usuario > En la sección “Permitir acceso a:” seleccionar los privilegios > Clic en guardar

Para eliminar un usuario > Clic en “Administrador” > (Se abre ventana “Administrador de
usuarios”) > Seleccionar al usuario > Clic en “Borrar” > Guardar los cambios

Mantener documentado el número de usuarios y sus privilegios


Prevención: hacer respaldos periódicos, monitorear el espacio de almacenamiento
remanente, analiza el problema y realiza los diagramas, si realizas una consulta compleja
guardarla

Calidad: dedicar el tiempo necesario, documentar para ayudar a otra persona como está
estructurada la DB, procurar que el código sea sencillo, presentar la información de
diferentes maneras, dar mantenimiento continuo, mantener actualizadas las DB
3. Programador (orientado a objetos)
¿Qué es la programación y para qué sirve? Sirve para decirle a una computadora o
máquina que debe hacer, se necesitan algoritmos que solucionen paso a paso problemas
específicos.
Algoritmo: es una lista ordenada de instrucciones que se deben seguir paso a paso para
realizar una tarea siempre con el mismo resultado, un programa está compuesto por uno o
varios algoritmos dedicados a solucionar un problema específico. Deben estar escritos en
un lenguaje prediseñado para la interpretación de una computadora
Programación: proceso para diseñar el código que resuelva un problema o necesidad, a
esta solución se le conoce como software.
¿Para qué sirve la programación? Un programa es similar a una línea de producción donde
recibe datos como insumo y los utiliza, transforma o almacena mediante algún proceso
para generar un resultado final. Existen muchas áreas de aplicación para la programación
las más comunes son: desarrollo de sitios y plataformas web, control de procesos,
desarrollo de software administrativo, comercial y a medida, desarrollo de aplicaciones
móviles, sistemas informáticos. La programación sirve para resolver cualquier problema en
el que se pueda aplicar la tecnología.

Estructura de un programa y pseudocódigo.


Pseudocódigo: escribir instrucciones en Español, pero siguiendo la estructura de un
lenguaje de programación formal. La estructura de un programa sin importar el lenguaje,
está compuesto de 3 partes esenciales:
1. Entrada de datos: se declaran variables y capturan los datos externos para ser cargados
en la memoria del programa
2. Algoritmo: instrucciones secuenciales encargadas de procesar los datos
3. Impresión de resultados: instrucciones encargadas de mostrar los datos procesados

La base de un programa son las palabras reservadas, estas guían la ejecución y no pueden
ser utilizadas para identificar variables u otros elementos pues se produciría un error

Archivo > Nuevo > Proceso Mi proceso > Fin proceso

Usar [;] para finalizar cada instrucción.

Variables y tipos de datos


Variables: son contenedores que almacenan datos de forma temporal en la memoria del
programa para poder usarlos posteriormente, el tipo y tamaño de una variable estará
definido por el tipo de dato que almacenará.
Tipos de datos: Carácter (varias letras o símbolos que serán utilizadas como texto)
Entero, números enteros sin punto decimal. Real, datos de tipo numero con punto
decimal. Lógico, solo puede tener verdadero o falso.
Declaración de variables: sirve para hacerle saber al programa la cantidad de variables que
utilizará, el nombre con el que las va a identificar y el tipo.
Definir edad como Entero;

Instrucciones de entrada y salida

Proceso Mi_proceso
//Primer programa
Definir edad Como Entero;
edad<-0;
Escribir “Ingresa edad”;
Leer edad; Guarda hasta que se pulsa enter.
Escribir “La edad ingresada es: “,edad;
FinProceso

Instrucciones de entrada y salida


Operaciones básicas + suma, - resta, * multiplicación, /división.
% obtener el residuo de la división de dos números enteros

Operadores lógicos
A&&B AND A||B OR !A NOT

Estructuras de decisión
Hay casos donde los pasos a seguir dependen de que se cumpla una o más condiciones
Simples:
Revisar el resultado de una operación lógica o relacional que determina si se
ejecuta un procedimiento secundario antes de continuar con el procedimiento
principal
Si [condición01] Entonces
Código en caso de verdadero;
FinSi

Dobles:
Ejecuta un proceso si se cumple y otro proceso si no se cumple, como sea se
ejecuta un proceso secundario antes de continuar con el procedimiento principal.
Si [condición01] Entonces
Código en caso de verdadero;
SiNo
Código en caso de falso;
FinSi

Múltiples:
La condición puede generar resultados con más de dos valores diferentes y cada
valor puede generar un proceso secundario diferente
Segun [condición01] Hacer
valor01:
Código para valor01;
valor02:
Código para valor02;
valor03:
Código para valor03;

De otro Modo:
Código para el resto de los valores;
FinSegun

Uso de vectores
Vectores: estructuras que puedan almacenar un numero definido de variables de un tipo y
tamaño bajo un mismo identificador, para la computadora esto significa que va a utilizar un
numero definido de ubicaciones en la memoria para poder acceder a esas variables bajo el
mismo identificador.
Son útiles para almacenar un conjunto de datos que tienen relación entre sí.

Proceso Mi_proceso
Definir edad Como Entero;
Dimension edad(3);
Escribir “Cual es la edad de la persona 1”;
Leer edad(0);
Escribir “Las edades ingresadas fueron: “;
Escribir “Persona 1:”, edad(0);
FinProceso

Uso de matrices
Son estructuras de 2 o más dimensiones agrupadas de forma similar a los vectores, es
decir, una matriz 2x3, equivale a tener 2 vectores de 3 elementos cada uno.
Declaración filasxcolumnas

Proceso Mi_proceso
Definir edad Como Entero;
Dimension edad(2,3);
Escribir “Cual es la edad de la persona 1”;
Leer edad(0,0);
Escribir “Las edades ingresadas fueron: “;
Escribir “Persona 1:”, edad(0,0);
FinProceso
Estructuras de repetición
Las estructuras de repetición permiten al programa ejecutar la misma serie de
instrucciones tantas veces como sea necesario para el cumplimiento de una condición
lógica. Existen 3 estructuras de repetición:
Mientras
Revisa una condición lógica, ejecuta las instrucciones, vuelve al punto de revisión.
El ciclo se repetirá mientras se cumpla la condición.
Proceso Mi_proceso
Definir edad Como Entero;
Definir iteración Como Entero;
Dimension edad(3);
Iteración<-0;
Mientras iteración<3 Hacer
Escribir “Cual es la edad de la
persona”, iteración+1,”?”;
Leer edad(iteración);
iteración<-iteración+1;
FinMientras
FinProceso

Repetir
Revisa la condición lógica al finalizar la ejecución de las instrucciones, es decir, las
instrucciones se realizarán al menos una vez.
Proceso Mi_proceso
Definir edad Como Entero;
Definir iteración Como Entero;
Dimension edad(3);
Iteración<-0;
Repetir
Escribir “Cual es la edad de la
persona”, iteración+1,”?”;
Leer edad(iteración);
iteración<-iteración+1;
Hasta Que iteración<3
FinRepetir
FinProceso

Para
Incrementa el contador de manera automática y se declara dentro de la estructura
Proceso Mi_proceso
Definir edad Como Entero;
Definir iteración Como Entero;
Dimension edad(3);
Iteración<-0;
Para iteración<-0 Hasta 2 Con Paso 1 Hacer
Escribir “Cual es la edad de la
persona”, iteración+1,”?”;
Leer edad(iteración);
Fin Para
FinProceso

Ambiente de desarrollo integrado


IDE (integrated development enviroment) es una interfaz usada para escribir código en un
lenguaje de programación, contiene:
Barra de herramientas, editor, barra de proyectos, consola.
Antes de programar se debe crear un proyecto siguiendo los pasos: File > New Project >
Elegir dirección > Nombre > Interprete Python
Aparecerá la carpeta con el nombre del proyecto> Clic derecho > New > File
Nombrarlo como “Hola mundo” > Tipo Python
#Programa de prueba
Print “Hola mundo”
Clic derecho y “Run” > Se mostrará en la consola el resultado

Estructura de datos
Son arreglos que sirven para almacenar valores y manipularlos después
1) Listas: pueden contener números, variables, cadenas de texto, e incluso otras listas
Una variable a la que se asigna la lista; elementos separados por una coma, cada uno de
sus valores tienen un índice, corchetes sirven para contener cada uno de los elementos.

robot=[“bípedo”,6,[“caminar”,”correr”,”saltar”]]

Cada uno de sus valores tienen un índice asignado automáticamente y el conteo inicia con
el cero. Dos aplicaciones comunes de las listas son la obtención y reestructura de alguno
de sus elementos.
Para obtener un elemento: Crear otra variable e igualarla a la lista > Abrir corchete y poner
un índice.
robot=[“bípedo”,6,[“caminar”,”correr”,”saltar”]]
variable1= robot[1]
print variable1
Resultado = 6

Para acceder a una lista dentro de otra lista: colocar en un primer corchete el índice de la
lista anidada y en un segundo corchete el índice del elemento
robot=[“bípedo”,6,[“caminar”,”correr”,”saltar”]]
variable1= robot[2][1]
print variable1
Resultado = correr
Para reescribir sus elementos: elegir la lista seguida del índice entre corchetes, colocar
robot=[“bípedo”,6,[“caminar”,”correr”,”saltar”]]
robot[2][1]= “trotar”
print robot
Resultado = robot=[“bípedo”,6,
[“caminar”,”trotar”,”saltar”]]

2) Tuplas: similares a las listas pero con las siguientes diferencias: sus elementos se
encierran entre paréntesis, no se pueden modificar, es decir, añadir ni eliminar
elementos.
xy= (“Primavera”,”Verano”,”Otoño”,”Invierno”)

3) Diccionarios: son estructuras que asocian una clave con un valor, se componen de: una
variable a la que se asigna el diccionario, claves que se usan como índices para acceder
a los valores (pueden ser números, cadenas de texto y tuplas), valores (pueden ser
números, variables, cadenas de texto, listas y tuplas), llaves que encierran las claves y
valores.
dic={ ‘Clave1’: ”Bípedo”,
‘Clave2’: 6,
‘Clave3’: [“caminar”, “correr”, “saltar”]
}
Es posible cambiar los valores, pero no las claves: al igual que con las listas, es común
requerir la obtención de valores, para hacerlo: crear otra variable, igualar al
diccionario, en caso que sea una lista o tupla agregar el índice del elemento.
dic={ ‘Clave1’: ”Bípedo”,
‘Clave2’: 6,
‘Clave3’: [“caminar”, “correr”, “saltar”]
}
dic2=dic [“Clave3”][1]
print dic2

Resultado = correr
Instrucciones de decisión lógica
Se usa para elegir la ruta que debe seguir el programa basándose en operadores relacionales y
booleanos.
libros = input(‘Cuantos libros lees anualment?’)
if libros >=15:
print ‘Eres un buen lector’
else:
print ‘Necesitas leer más’
El lenguaje solo acepta ingles por lo que caracteres y símbolos del Español no se usan.
Entender que es una decisión anidada: usar sangrías para determinar que decisión se va a
tomar primero
pregunta = input(‘Trabajas desde casa?’)
if pregunta == True:
print ‘Eres afortunado’

if pregunta == False:
print ‘Trabajas fuera de casa’

tiempo=input(‘Cuantos minutos haces al trabajo?’)


if tiempo==0:
print (´Trabajas desde casa’)
elif tiempo <=20:
print (´Es poco tiempo’)
elif tiempo >=21 and tiempo<=45:
print (´Es un tiempo razonable’)
else:
print (´Busca otras rutas’)
Instrucciones de repetición
Son estructuras que repiten un determinado número de veces un conjunto de líneas de código.
En Python se usan dos: while y for
Ejemplo While
#Tabla del 7 usando WHILE
i=1
while i<=10:
tabla = 7*i
print “7 x ”+str(i),”=”,str(tabla)
i=i+1;

Ejemplos For
#Tabla del 7 usando FOR
for j in range (1,11):
tabla = 7*i
print “7 x ”+str(j),”=”,str(j*7)
j=j+1;

#Lectura de elementos en listas incluyendo palabras


for palabras in “Vladimir”:
print palabras

Funciones
Es un conjunto de líneas de código que pueden ser reutilizables y sirven para organizar un
programa en forma de bloques cortos. La estructura de una función consta de:
def nombre(variables);

Ejemplos áreas
#Cálculo de áreas
F=3.141516
#Area del cuadrado
def acuadrado():
lado=input(‘Cuál es el valor del lado?”)
x=lado*2
print “\nEl área del cuadrado es ”,x,” unidades
cuadradas”
#Area del circulo
def acirculo():
radio=input(‘Cuál es el valor del radio?”)
z=(F*radio)**2
print “\nEl área del circulo es ”,z,” unidades
cuadradas”
i=True
while i==True:
area=input(“Elije la figura para calcular área\n
Cuadrado=1\nCirculo=2”)
if area==1
acuadrado()
elif area==2
acirculo()
else:
print “Ingresa una opción válida”

i=input(“Quieres calcular el área de otra figura?\


nSí=True\nNo=False”)
Programación orientada a objetos
El paradigma orientado a objetos es una metodología que permite organizar la información de
acuerdo con la interacción de entidades
Objeto: es la representación informática de un objeto físico o imaginario, puede ser simple
o complejo dependiendo de la dimensión de sus tres propiedades
Estado: definido por un conjunto de datos llamados atributos que almacenan las
características del objeto en determinado momento.
Comportamiento: definido por sus métodos, esto son funciones que permiten su
interacción con el programa y otros objetos.
Identidad: el objeto se define por medio del identificador con el que se declara.

Propiedades adicionales: extienden las funciones de un objeto como son la


herencia, abstracción y encapsulamiento, permiten al programador crear sistemas
más grandes y mejor estructurados aprovechando la reutilización del código.

Todas las propiedades se definen a través de plantillas llamadas clases, en otras


palabras, los objetos son instancias que poseen las características esenciales
definidas en su clase, similar a un edificio basado en un plano.

Objetos y declaración de clases


Para comenzar a utilizar un objeto primero debes crear la plantilla de su clase, a este
proceso se le llama declaración de clases que es similar a la declaración de funciones.
Ejemplo crear un programa para guardar algunos datos de una persona:
 Declaración de clase en minúsculas iniciando por mayúscula como buena práctica.
 En Python, los atributos se declaran dentro de un método especial que se ejecuta
automáticamente al crear un objeto, a este método se le llama constructor:
 Tiene una sintaxis especial que se conoce como reservada
 Python requiere la palabra “self” para acceder al resto de los métodos y atributos
dentro de la clase, por eso debe ser el primer parámetro dentro de todos los
métodos de clase.

class Persona:
def __init__(self): //Nombre del método constructor
self.edad=18 //Atributo: variable edad, valor 18
self.nombre=”Juan” //Atributo nombre
print “Se ha creado
a”,self.nombre,”de”,self.edad

//Crear un objeto nuevo


juan=Persona() //Nueva variable
Uso de métodos
Los métodos son funciones declaradas dentro de una clase que sirven para interactuar
dentro de ella
Declaración de métodos
class Persona:
def __init__(self):
self.edad=18
self.nombre="Juan"
print ("Se ha creado a ", self.nombre, "de",
self.edad)

def hablar (self, palabras="No sé que decir"):


print (self.nombre,":",palabras)

juan=Persona()
juan.hablar()
juan.hablar("Hola, estoy hablando")

Resultado
Se ha creado a Juan de 18
Juan: No sé que decir
Juan: Hola, estoy hablando

Uso de parámetros especiales


Por ser un lenguaje que no requiere declaración de variables Python no permite la
sobrecarga de métodos, sin embargo, proporciona características que vuelven la
programación más flexible para facilitar la reutilización del código.
 Una de ellas es el uso de parámetros especiales:
 Como cualquier método, el constructor también puede incluir parámetros en su
definición con el fin de preparar procesos o atributos del objeto también
conocidos como variables de instancia:
class Persona:
def __init__(self,edad,nombre):
self.edad=edad
self.nombre=nombre
print ("Se ha creado a ", self.nombre, "de",
self.edad)

def hablar (self, palabras="No sé que decir"):


print (self.nombre,":",palabras)

juan=Persona(18,"Juan")
juan.hablar("Hola, estoy hablando")
luis=Persona(20,"Luis") //Instanciar otro objeto de la clase Persona
luis.hablar("Hola, estoy hablando") //Invocar el método hablar

Resultado
Se ha creado a Juan de 18
Juan: Hola, estoy hablando
Se ha creado a Luis de 20
Luis: Hola, estoy hablando

 Al instanciar un objeto se está ejecutando de forma automática el método


constructor, por lo que los parámetros que pases dentro de la clase persona serán
los que requiera el constructor

Tuplas y diccionarios en los parámetros


Además de variables simples, la declaración de métodos permite la declaración de tuplas y
listas como parámetros, para que el programador pueda manejar grandes cantidades de
información de forma más sencilla.
Ejemplo Tupla
class Persona:
def __init__(self):
self.edad=18
self.nombre="Juan"
print ("Se ha creado a ", self.nombre, "de",
self.edad)

def hablar (self,*palabras): /[*] parámetro recibirá tupla


for frase in palabras:
print (self.nombre,":",frase)

juan=Persona()
juan.hablar("Hola, estoy hablando","Este soy yo")

Resultado
Se ha creado a Juan de 18
Juan: Hola, estoy hablando
Juan: Este soy yo

Ejemplo Diccionario
class Persona:
def __init__(self):
self.edad=18
self.nombre="Juan"
print ("Se ha creado a ", self.nombre, "de",
self.edad)

def hablar (self,**palabras): /[**] recibirá diccionario


for frase in palabras:
print (self.nombre,":",palabras[frase])

juan=Persona()
juan.hablar(t1="Hola, estoy hablando",t2="Este soy yo")

Resultado
Se ha creado a Juan de 18
Juan: Hola, estoy hablando
Juan: Este soy yo

 La variable que se use para recibir tuplas, listas o diccionarios, siempre debe
declararse cómo el último parámetro, así Python sabrá que el resto de los valores
pasados como parámetro forman parte de la tupla
 Los métodos sirven para realizar operaciones dentro del objeto y para interactuar
con del programa principal y otros objetos

Lección 4
Herencia y sobreescritura de métodos
Una de las metas más comunes para el programador es la reutilización de código, la
orientación a objetos contribuye a lograr esta meta con características como la herencia
Herencia: es el mecanismo más utilizado para optimizar la codificación, ya que permite
reutilizar métodos definidos en super clases para definir nuevas subclases
Sobreescritura: es una nueva definición creada dentro de en una subclase para uno o más
métodos heredados de su superclase, para sobrescribir el constructor de la clase persona:

Encapsulamiento y ocultación de objetos


En ocasiones las clases cuentan con atributos y métodos que se emplean solo en la ejecución
de procesos internos, por lo que no necesitan ser accedidas desde el programa principal u otra
clase.
Encapsulamiento: de atributos y métodos consiste en diferenciarlos de aquellos que
interactuaran directamente con el programa principal y otros objetos.
 La información se encapsula mediante palabras reservadas conocidas como
modificadores de acceso que restringen la información en 3 niveles: pública,
protegida y privada
 Dentro de Python no existen modificadores de accesos formales, por lo tanto, la
ocultación de atributos y métodos se logra agregando dos guiones bajos [_] al
inicio de su identificador, para encapsular un atributo ver el ejemplo:
class Persona:
def __init__(self,edad,nombre):
self.edad=edad
self.nombre=nombre
print ("Se ha creado a
",self.nombre,"de",self.edad)

def hablar (self,*palabras):


for frase in palabras:
print (self.nombre,": ",frase)

class Deportista(Persona):
def __init__(self,edad,nombre,deporte):
self.edad=edad
self.nombre=nombre
self.__deporte=deporte
print ("Se ha creado a
",self.nombre,"de",self.edad)

def practicarDeporte(self):
print (self.nombre,": voy a practicar")

def verMiDeporte(self):
return self.__deporte

juan=Persona(30,"Juan")
juan.hablar("Hola, estoy hablando","Este soy yo")
luis=Deportista(18,"Luis","natación")
luis.hablar("Hola, estoy hablando","Este soy yo")
luis.practicarDeporte()
print ("Luis practica",luis.verMiDeporte())

 La ocultación también se puede aplicar a métodos que solo se utilizan para


subprocesos u operaciones internas, es decir, son ejecutados por otros métodos
dentro de la clase:
metodoPublico()
_metodoPrivado()
_metodoPrivado2()
Clases abstractas
Son plantillas que sirven para definir otras clases, establecen la estructura mínima que deben
llevar sus clases derivadas sin definir a detalle su funcionalidad.
Declaración de una clase abstracta: es necesario incluir código prescrito ya que Python no
cuenta con esa función por defecto
 Una clase derivada de una clase abstracta se denomina implementación
 En este ejemplo class Deportista(Persona) Deportista es una
implementación de Persona
 Si una clase abstracta tiene más de un método declarado como abstracto, sus
implementaciones deberán tener una definición para cada método.

Lección 5
Operaciones básicas con archivos
En Python las operaciones básicas con archivos son: crear, escribir y leer líneas de código
Estas operaciones se identifican por la siguiente sintaxis:
Variable a la que se le asignan los datos a leer o escribir; la instrucción “open” la cual abre el
archivo; la ruta y el nombre del archivo a usar con su extensión (si está en la carpeta actual no
es necesario poner la ruta); existen dos vías para abrir el archivo “r” (lectura, necesita el
archivo previamente creado) o “w” (escribir el archivo, si no existe lo crea)
prueba=open(‘c:Users/Beto/datos.py’,’w)

Un ejercicio de aplicación es crear una función para crear tres datos:


def escritura (datoa,datob,datoc):
prueba=open(‘c:Users/Beto/datos.py’,’w)
prueba.write(datoa)
prueba.write(datob)
prueba.write(datoc)
print (‘\nEscritura\n’)
prueba.close
escritura(‘Hola’,’Mundo’,’Bonito’)

def lectura ():


prueba=open(‘c:Users/Beto/datos.py’,’r)
print (prueba.read())
prueba.close()
lectura()
Estas operaciones permiten trabajar con archivos de otras extensiones, incluso exportar
datos
Lección 6
Uso de Tkinter para interfaces gráficas
En la programación es importante la creación de una interfaz gráfica o GUI (Graphical User
Interface), la cuál es un conjunto de imágenes que simulan elementos físicos para facilitar la
interacción del usuario con el programa.
TKinter es una biblioteca de clases prescritas
Lección 7
Creación de una tabla
Crear novelas.db

import sqlite3
conexión=sqlite3.connect(‘novelas.db)
consulta=conexión.cursor() Habilitar la conexión
tabla= “CREATE TABLE tabla (id INTEGER PRIMARY KEY AUTOINCREMENT
NOT NULL,”\
nombre VARCHAR (30) NOT NULL,”\
autor VARCHAR (40) NOT NULL,”\
year INTEGER (9) NOT NULL);”

print (table)

if (consulta.execute(tabla)): Verificar creación de la tabla


print (“La tabla fue creada”)
else
print(“La tabla no fue creada”)

Deshabilitar la conexión consulta.close()


Guardar cambios conexión.commit()
Cerrar la conexión conexión.close()

Inserción de registros
Habilitar la conexión consulta=db1.cursor()
Ejecutar una instrucción SQL consulta.execute()

Consulta de registros
Preparar la consulta db2.row_factory=sqlite3.row
Guardar resultado de la consulta filas=consulta.fetchall()
Agregar registros lista.append(s)
Tipos de errores
Lo errores son fallas que generan resultados incorrectos
Errores de sintaxis: impiden que el código se ejecute, la sangría también es un error de
sintaxis, se solucionan escribiendo correctamente
Errores de ejecución: aparecen en la consola al momento de probar el programa, se
solucionan depurando el código
 Operaciones que no pueden hacerse, por ejemplo, dividir un número entre cero
 Mezclar tipos de variables, por ejemplo, unir un número con una cadena de texto
 Asignar valores a objetos estáticos (como las tuplas)
 Variables no definidas, es decir cuando se necesitan condiciones iniciales
Errores lógicos: generan resultados no deseados debido a que el programador se equivocó
en la lógica del proceso, a diferencia de los errores de ejecución no se muestran en la
consola
 Usar operadores relacionales de forma incorrecta
 Bucles infinitos: no existe una condición que acabe el ciclo

Manejo de excepciones
Son indicaciones para que el programa siga funcionando al detectar errores de ejecución,
existen dos tipos
General: es única y atrapa todos los errores
Particular: atrapa un solo tipo de error, pueden crearse varios tipos de excepciones y la
prioridad se estable a través del orden en el que se escriben
Para detectar excepciones:
 Usa la etiqueta try para delimitar un bloque de código atrapando sus posibles errores
 En caso de encontrar un error el programa visita cada etiqueta except para asociarlo
a una excepción y así ejecutar las instrucciones de la etiqueta correspondiente
 Si no se encuentran algún error asociado a una excepción se ejecutan las líneas de
código de la etiqueta else (normalmente imprimir un mensaje que confirme el buen
funcionamiento del programa hasta ese punto)
 Es común usarlo en bloques de código que son propensos a errores, por ejemplo,
cuando se piden datos de entrada a algún valor

Verificación manual de código


Se usa para solucionar fallas en los programas debido a errores.
Verificación por tablas: se usa para verificar programas cortos y poco complejos. Se
selecciona la parte del programa a revisar, se identifican todas las variables, se crea una
tabla con el número de iteraciones y las variables, calcular los valores de cada variable de
acuerdo con sus operaciones aritméticas, comprar la tabla vs los resultados de la consola.
Verificación por diagrama de flujo: útil para solucionar errores en programas largos y más
complejos. Se siguen estos pasos: confirmar que el diagrama de flujo corresponda al
programa, ubicar el primer bloque y verificar que su función se cumpla, realizar lo mismo
con los demás bloques, al encontrar algún error se corrige y se continúa la verificación.

Verificación por depuración


Es la verificación de la lógica del programa mediante su ejecución controlada, para llevarla a
cabo, se usan puntos de interrupción que son pausas intencionadas en líneas de código con el
fin de revisar procesos o valores, se crean haciendo clic al lado izquierdo de la línea que se
quiere verificar.
Para hacer la depuración se realizan los siguientes pasos:
1) Colocar los puntos de interrupción en las líneas clave del código como incrementos de
variables, llamado de funciones u operaciones aritméticas
2) Clic en el ícono “Debug” se abrirán la consulta y el depurador en la parte inferior, usar
le menú de control de depuración para verificar el programa, puede ser línea por línea
o que se ejecute hasta los puntos de interrupción
3) Hacer las pruebas necesarias al programa para confirmar su funcionamiento
La depuración debe hacerse por bloques de código o por cada función para minimizar
tiempos

Refactorización del código


Consiste en mejorar la estructura de un programa sin afectar su funcionalidad, tiene por
objetivo dar mantenimiento al programa para hacerlo más claro, facilitar la adición de código y
eliminar redundancias, reducir el tiempo de procesamiento y uso de memoria.
Antes de refactorizar un programa realizar una copia para trabajar sobre ella
Abrir el IDE, seleccionar la forma para refactorizar > seleccionar una sección de código, puede
ser un bloque o un elemento > Clic en “Refactor” y luego elegir el tipo > En caso de una
ventana emergente dar clic para aceptar los cambios > Realizar un cambio a la vez y estar
seguro de entender todas sus implicaciones > Realizar pruebas al programa para verificar su
funcionamiento > En caso de que se hayan afectado algunas de las funcionalidades del
programa: deshacer los cambios; si aún así no se solucionan, usa el programa original > Por
último, documenta en una lista los cambios que realizaste, esto es útil cuando das
mantenimiento a un programa por varios días o colaboras en equipo

Documentación del código


Tiene por objetivo explicar cada parte del programa para que otros desarrolladores lo
comprendan con mayor facilidad, puede hacerse por:
1) Docstrings: cadena de caracteres entre comillas al inicio de un módulo, clase, método
o función, se usan para describir que hace el código
2) Comentarios: inician con el símbolo gato al cual le sigue el texto, se usan para describir
como se hacen los procesos
Que documentar

 Antes de comenzar un programa coloca los datos siguientes: nombre, un resumen


del propósito, autores, número de versión o si es un respaldo
 Al momento de escribir una clase, módulo, método o función, documentar:
nombre con breve descripción, explicación de los parámetros y variables a usar,
anotaciones
 La documentación es un hábito que se debe fomentar en la rutina de trabajo para
recordar como llegaste a cada solución,
4. Administrador de bases de datos
5. Técnico en redes de datos
6. Administrador de servidores
7. Analista de datos
8. Visualizador de Big Data
Diplomado 2: Técnico en cómputo en la nube

1. Fundamentos del cómputo en la nube


2. Fundamentos de virtualización
3. Asesor de servicios de infraestructura en la nube
4. Desarrollador de aplicaciones en la nube
5. Administrador de la nube
6. Técnico en seguridad en la nube
Diplomado 3: Técnico en inteligencia de negocios

1. Evaluador de procesos
2. Analista de proyectos BI
3. Técnico de Business Analytics
4. Técnico en minería de datos
5. Visualizador de datos
6. Analista técnico en TI
7. Evaluador de indicadores clave (KPI)
8. Integrador de soluciones BI

También podría gustarte