Este es un cuaderno introductorio a Python diseñado en JupyterLab, exploraremos las funciones básicas disponibles de Python y la programación básica para su posterior uso en el diplomado. Comenzaremos con un ambiente de Python 3. Pero antes estudiaremos algunos conceptos básicos.
Aprender a programar abre puertas a una amplia gama de oportunidades laborales. La demanda de personas que sepan programar está en constante crecimiento, lo que significa que aquellos con habilidades de programación tienen una ventaja competitiva en el mercado laboral. También proporciona una base sólida para emprender proyectos personales o profesionales, como la creación de aplicaciones, sitios web o soluciones tecnológicas innovadoras.
Por otra parte, la mayoría de las tareas en ciencia de datos involucran el manejo, procesamiento y análisis de datos. El saber programar nos da las herramientas y la flexibilidad necesaria para realizar estas tareas de manera eficiente y escalable.
Además, gran parte del trabajo en ciencia de datos se basa en la creación de modelos y algoritmos para extraer información significativa de los datos. La programación permite implementar y personalizar estos modelos, así como realizar ajustes y mejoras para obtener resultados más precisos.
Otra razón importante para aprender a programar en ciencia de datos es la automatización. Mediante la programación, es posible desarrollar flujos de trabajo automatizados que aceleren el procesamiento y análisis de datos, ahorrando tiempo y recursos.
Un paradigma de programación representa un enfoque o forma de diseñar soluciones computacionales a un problema. Los paradigmas varían en la forma en que se abstraen los elementos del problema y en los pasos utilizados para solucionarlo, lo que resulta en los diferentes enfoques de cada paradigma.
En general, la mayoría de los paradigmas de programación se pueden clasificar en dos tipos principales: imperativo y declarativo.
En la programación imperativa, se describe detalladamente un conjunto de instrucciones que deben ejecutarse paso a paso para llegar a la solución del problema.
Los lenguajes de programación pueden incorporar varios paradigmas (lenguajes multiparadigma). En el siguiente enlace podrán encontrar una rápida revisión de la relación entre algunos lenguajes de programación y algunos paradigmas asociados a dichos lenguajes:
https://en.wikipedia.org/wiki/Comparison_of_multi-paradigm_programming_languages
En matemáticas, lógica, ciencias de la computación y disciplinas relacionadas, un algoritmo (del latín algorithmus y este del griego arithmos, que significa «número», quizá también con influencia del nombre del matemático persa Al-Juarismi) es un conjunto de instrucciones o reglas definidas y no-ambiguas, ordenadas y finitas que permite, típicamente, solucionar un problema, realizar un cómputo, procesar datos y llevar a cabo otras tareas o actividades.
Dado un estado inicial y una entrada, siguiendo los pasos sucesivos se llega a un estado final y se obtiene una solución. Los algoritmos son el objeto de estudio de la algoritmia, Wikipedia.
Por ejemplo, suponga que se desea hacer la siguiente tarea. Escribir los números entre 1 y 100. Un algoritmo para resolver esta tarea es el siguiente.
Un programa de computador sueler ser la implementación de un algoritmo en un lenguaje de programación, que podrá ser ejecutado en un computador. Por ejemplo, el algoritmo anterior puede escribirse en el lenguaje de programación Python como sigue:
# inicio
for n in range(1, 101):
print(n, end=' ')
# fin
De manera muy general, un programa de computador (bajo el paradigma de programación imperativo estructurado) puede escribirse usando tres estructuras o principios de programación:
Formalmente, un programa es una secuencia de instrucciones (sentencias):
Una sentencia de selección se escribe formalmente como
Una sentencia de iteración o repetición se escribe por ejemplo como
Por ejemplo, para imprimir los números impares entre 1 y 100 podríamos escribir un algoritmo de la siguiente forma
Este algoritmo tiene tres sentencias. Imagine por qué. Observe que la sentencia que se repite dentro del ciclo es una selección. La condición es que n sea par y la sentencia que se ejecuta condicionalmente es imprimir el valor del número.
En Python, este algoritmo puede escribirse de la siguiente forma:
min = 1
max = 100
for n in range(min,max+1):
if(n % 2):
print(n, end=' ')
Un lenguaje de programación es un lenguaje formal (o artificial, es decir, un lenguaje con reglas gramaticales bien definidas) que le proporciona a una persona, en este caso el programador, la capacidad de escribir (o programar) una serie de instrucciones o secuencias de órdenes en forma de algoritmos con el fin de controlar el comportamiento físico o lógico de un sistema informático, de manera que se puedan obtener diversas clases de datos o ejecutar determinadas tareas. A todo este conjunto de órdenes escritas mediante un lenguaje de programación se le denomina programa informático, Wikipedia.
Como un programa se puede ver como una secuencia de instrucciones que le dicen a un computador lo que debe hacer, naturalmente esas instrucciones se le deben dar en un lenguaje que pueda “entender”. El lenguaje nativo de los computadores es un lenguaje de ceros y unos (binario). Es por esto que se necesita un lenguaje intermedio (lenguaje de programación) que permita comunicar al programador con el computador.
El conjunto de palabras o símbolos (código de escritura) que se usan para que un computador reciba instrucciones es lo que se llama un lenguaje de programación. Cada lenguaje de programación tiene un formato preciso (su sintaxis) y un significado preciso (su semántica).
El conocer el paradigma y el lenguaje de programación bajo el cual esta o estará escrito un programa es lo que nos permite entender y trabajar colaborativamente en el programa.
Para una rápida y breve revisión acerca de la historia de los lenguajes de programación pueden leer el contenido del siguiente enlace:
https://es.wikipedia.org/wiki/Historia_de_los_lenguajes_de_programación