100% encontró este documento útil (4 votos)
907 vistas69 páginas

Programación en Python

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1/ 69

PROGRAMACIÓN EN PYTHON

CURSO: PROGRAMACIÓN DIGITAL APLICADA


DOCENTE: APESTEGUIA INFANTES JUAN ANTONIO
INTEGRANTES:
AYALA CASANA ABNER ALEXIS 1813110055

MOLINA ALCÁNTARA GIANELLA ALLISON 1813120124

PRÍNCIPE MENDOZA DIEGO ALONE DE JESÚS 1813120329

SALDIVAR CONDORI HELEN THEREZA 1813110091

VALERIO ANTEZANA BRYAN ANDREE 1813120311

2020
UNIVERSIDAD NACIONAL DEL CALLAO
FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA
ESCUELA PROFESIONAL DE INGENIERÍA ELÉCTRICA

ÍNDICE
Historia de Python 4
Versión 1.0 6
Versión 2.0 7
Versión 3.0 8
Marco Teórico 11
Python en el mundo 11
Características 12
1) Interpretado 12
2) Multiparadigma 13
3) De Tipado Dinámico 14
Elementos del lenguaje 16
Palabras reservadas 17
Operadores 17
1) Operadores de asignaciones 17
2) Operadores aritméticos 18
3) Operadores relacionales 19
Tipos de Booleanos 22
Tipo Cadena de caracteres 22
Funciones 24
Entrada y Salida de Python 29
1.- Librerías de Python para visualización 32
1) Matplotlib 32
2) Seaborn 32
3) Bokeh 33
4) Plotly 33
5) Pygal 34
2.- Librerías de Python para Cálculo Numérico y Análisis de Datos 34
1) NumPy 34
2) SciPy 34
3) Pandas 35

3.- Librerías de Python para Machine Learning 35


1) Scikit-learn 35

11/12/2020
2
UNIVERSIDAD NACIONAL DEL CALLAO
FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA
ESCUELA PROFESIONAL DE INGENIERÍA ELÉCTRICA

4.- Librerías de Python para Deep Learning 36


1) TensorFlow 36
2) Keras 36
3) PyTorch 37
5.- Librerías de Python para Procesamiento de Lenguaje Natural 37
1) NLTK: Natural Language Toolkit 37
2) Gensim 37
3) spaCy 39
EJERCICIOS DE APLICACIÓN 40
APLICACIONES DE PYTHON 50
1) Desarrollo Web con Python 50
2) Python para Ciencia de datos, incluido el aprendizaje automático, el análisis de datos y
la visualización de datos. 51
3) Scripting con Python 52
GRANDES PROYECTOS CON PYTHON 52
PRINCIPALES USOS DE PYTHON 59
1) Python en la inteligencia artificial 59
2) Python en Big Data 60
3) Python en Data Science 61
4) Python en Framework’ s de Pruebas 61
5) Python en Desarrollo Web 62
VENTAJAS Y DESVENTAJAS 63
CONCLUSIONES 67
REFERENCIAS 68

HISTORIA DE PYTHON
Las actualizaciones y cambios en la industria de la tecnología suceden de una manera
vertiginosa, por ello surgen constantemente nuevas tendencias, modelos de negocio y
lenguajes de programación, como lo es Python, un lenguaje reciente o “joven”.

11/12/2020
3
UNIVERSIDAD NACIONAL DEL CALLAO
FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA
ESCUELA PROFESIONAL DE INGENIERÍA ELÉCTRICA

La razón por la que se denomine como un lenguaje joven, se debe a que sus inicios se
remontan a principios de los 90s, de manera específica la primera versión vio la luz en
1991, pero fue hasta después de tres años cuando se publica la versión 1.0.
Python fue desarrollado por el investigador holandés Guido
Van Rossum, quien en aquellas épocas trabajaba en el centro
de investigación CWI (Centrum Wiskunde & Informatica)
de Ámsterdam.
Guido Van Rossum es un informático, conocido, justamente,
por ser el autor del lenguaje de programación Python.
Nació y creció en los Países Bajos, donde obtuvo su
titulación universitaria en matemáticas y computación por la
Universidad de Ámsterdam en 1982. A lo largo de su vida ha
trabajado tanto en la industria, como en diversos centros de
investigación como el instituto holandés Centrum Wiskunde
& Informática (CWI), el Instituto Nacional de Estándares y
Tecnología o la Corporación para las Iniciativas Investigadoras Nacionales en Reston,
Virginia.
A Guido van Rossum le fue otorgado el Free Software Award (Premio del Software Libre)
en el 2001, por sus trabajos en la creación y desarrollo del lenguaje Python. En el 2005 fue
contratado por Google.
A Van Rossum le fue asignado un proyecto en el que tenía que desarrollar un sistema
operativo distribuido llamado Amoeba, las condiciones en que se encontraba el CWI, es que
tenía implementado un lenguaje de programación llamado ABC.
ABC fue desarrollado a principios de los 80s como alternativa a BASIC, fue pensado para
principiantes por su facilidad de aprendizaje y uso. Su código era compacto pero legible.
Sus principales características del lenguaje ABC serían que los tipos de datos que utiliza el
ABC son de muy alto nivel, maneja números que pueden ser enteros exactos de cualquier
tamaño y números no exactos, usa textos (textos en programación se le conoce como
strings) y se usan listas (en ellas los elementos deben ser del mismo tipo y siempre están
ordenados).
El proyecto no trascendió ya que el hardware disponible en la época hacía difícil su uso. Así
que Van Rossum le dio una segunda vida creando Python.
Guido decidió crear un nuevo lenguaje para el proyecto Amoeba, para superar las
limitaciones y problemas con los que se encontró. Una vez presentado Python, CWI decidió
liberar el intérprete del lenguaje bajo una licencia open source propia.

11/12/2020
4
UNIVERSIDAD NACIONAL DEL CALLAO
FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA
ESCUELA PROFESIONAL DE INGENIERÍA ELÉCTRICA

“…Hace seis años, en diciembre de 1989, estaba buscando un proyecto de programación


como hobby que me mantuviera ocupado durante las semanas de Navidad. Mi oficina
estaría cerrada y no tendría más que mi ordenador de casa a mano. Decidí escribir un
intérprete para el nuevo lenguaje de scripting que había estado ideando recientemente: un
descendiente de ABC que gustaría a los hackers de Unix/c. Elegí el nombre de Python para
el proyecto, encontrándome en un estado de ánimo ligeramente irreverente (y siendo un
gran fan de Monty Python’s Flying Circus).” Expresó su creador, Guido Van Rossum, en

1996.

En tanto, para el inicio del siglo XXI y coincidiendo con la publicación de la versión 1.6, se
tomó la decisión de cambiar la licencia por una que sea compatible con GPL (General
Public Licence). Esta nueva licencia se denominará Python Software Foundation Licence.
El anterior hecho implica que es posible modificar el código fuente y desarrollar código
derivado, sin la necesidad de hacerlo open source. Hasta el momento sólo han sido liberadas
tres versiones principales, teniendo cada una de ellas diversas actualizaciones.
En 1991, Van Rossum publicó el código de la versión 0.9.0 en alt.sources. En esta versión
ya teníamos disponibles clases con herencias, manejo de excepciones, funciones y los tipos
modulares (list, dict, str).
En esta versión aparece un sistema de módulos adoptado de Modula-3, un lenguaje de
programación estructurado y modular, el cual Guido describe como una de las mayores
unidades de programación de Python. Por ejemplo, el modelo de excepciones de Python es
parecido al de Modula-3.
La versión 1.0 se publicó en enero de 1994, la versión 2.0 se publicó en octubre de 2000 y
la versión 3.0 se publicó en diciembre de 2008.
Hasta el año 2018, el desarrollo de este popular lenguaje de programación estaba dirigido
personalmente por Van Rossum, pero decidió apartarse y, desde 2019, son cinco las

11/12/2020
5
UNIVERSIDAD NACIONAL DEL CALLAO
FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA
ESCUELA PROFESIONAL DE INGENIERÍA ELÉCTRICA

personas que deciden cómo evoluciona y se desarrolla Python. Un consejo que se renueva
de forma anual.
Para cuando salió la primera versión definitiva de Python, tal era la popularidad de este
nuevo lenguaje de programación que se creó comp.lang.python, un foro de discusión de
Python que multiplicó, aún más, su cantidad de usuarios.
 VERSION 1.0
Python es un lenguaje de programación que Van Rossum empezó a desarrollar mientras
trabajaba en CWI. Esta primera versión de Python ya incluía clases con herencias, manejo
de excepciones, funciones y una de sus características fundamentales: funcionamiento
modular. Esto permitía que fuese un lenguaje mucho más limpio y accesible para la gente
con pocos conocimientos de programación. Una característica que se mantiene hasta el día
de hoy.
Para 1994, Python llega a la versión 1.0 que incluyó herramientas de la programación
funcional como lambda, reduce, filter y map. Herramientas que llegaron al lenguaje gracias
a un hacker de Lisp, una familia de lenguajes de programación de computadora de tipo
multiparadigma.
La última versión liberada en CWI fue Python 1.2, en 1995, Van Rossum continuó su
trabajo en la Corporation for National Research (CNRI) en Virginia, donde lanzó varias
versiones del lenguaje.

Para la versión 1.4, vemos nuevas características, muchas inspiradas en Modula-3, y además
soporte built-in para los números complejos.
Van Rossum hizo aún más accesible el código y para el año 2000, el equipo principal de
desarrolladores de Python se cambió a BeOpen.com para formar el equipo de BeOpen
Python Labs.

11/12/2020
6
UNIVERSIDAD NACIONAL DEL CALLAO
FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA
ESCUELA PROFESIONAL DE INGENIERÍA ELÉCTRICA

CNRI pidió que la versión 1.6 fuera publicada al momento en que el equipo abandonó esa
esta corporación.
La versión 1.6 publicada en el CNRI incluye una licencia sustancialmente más larga que la
de las versiones publicadas en CWI. La nueva licencia incluía una cláusula indicando que
ésta se regía por las leyes de Virginia. Python 1.6.1 es exactamente lo mismo que 1.6, con
algunos bugs arreglados y una nueva licencia compatible con GPL.
 VERSION 2.0
Para Python 2.0 se incluyó la generación de listas, una de las características más
importantes del lenguaje de programación funcional Haskell. Además, incluyó un sistema
de recolección de basura capaz de recolectar referencias cíclicas.
En octubre del año 2000 se publica la segunda versión de Python. Una nueva versión en la
que se incluyó la generación de listas, una de las características más importantes del
lenguaje este lenguaje de programación.
Python 2.0 fue el primer y único lanzamiento de BeOpen.com. Después que Python 2.0
fuera publicado por BeOpen.com, Guido van Rossum y los otros desarrolladores de
PythonLabs se unieron a Digital Creations.
En 2001, se crea la Python Software Foundation, la cual a partir de Python 2.1 es dueña de
todo el código, documentación y especificaciones del lenguaje.
A mayores de esta nueva característica, esta nueva versión de Python también incluyó un
nuevo sistema gracias al cual los programadores eran capaces de hacer referencias cíclicas
y, de esta manera, Python podía recolectar basura dentro del código.
Python 2.1 fue un trabajo derivado de Python 1.6.1, así como también de Python 2.0. Su
licencia fue renombrada a: Python Software Foundation License. Todo el código,
documentación y especificaciones añadidas, desde la fecha del lanzamiento de la versión
alfa de Python 2.1, pertenece a Python Software Foundation (PSF), una organización sin
ánimo de lucro fundada en el año 2001, tomando como modelo la Apache Software
Foundation. Este lanzamiento incluyó un cambio en el lenguaje para soportar ámbitos
anidados (más conocido en programación como "nested scopes") como lo soportan otros
lenguajes de "static scoping" (del cual Scheme es el originador). Esta característica fue
deshabilitada por defecto, y no requerida, hasta Python 2.2.
Una gran innovación en Python 2.2 fue la unificación de los tipos en Python (tipos escritos
en C), y clases (tipos escritos en Python) dentro de una jerarquía. Esa unificación logró un
modelo orientado a objetos de Python puro y consistente. También fueron agregados los
generadores que fueron inspirados por el lenguaje Icon.

11/12/2020
7
UNIVERSIDAD NACIONAL DEL CALLAO
FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA
ESCUELA PROFESIONAL DE INGENIERÍA ELÉCTRICA

 VERSION 3.0 (también conocido como "Python 3000" o "Py3K")


La última gran actualización de la historia de Python se produjo en el año 2008 con el
lanzamiento de la versión 3.0, que venía a solucionar los principales fallos en el diseño de
este lenguaje de programación.
Aunque Python mantuvo su filosofía en esta última versión “Reduce feature duplication by
removing old ways of doing things” (Reducir la duplicación de funciones eliminando las
formas antiguas de hacer las cosas), como lenguaje de programación ha ido acumulando
formas nuevas y redundantes de programar un mismo elemento. De ahí la necesidad de
nuevas versiones que eliminen estos constructores duplicados.
Las versiones de Python 3.x y Python 2.x fueron planeadas para coexistir por varios releases
que se lanzaron en paralelo, donde Python 2.6 se lanzó al tiempo con 3.0, incluyendo
nuevas características y alertas que resaltan el uso de herramientas eliminadas en la versión
3.0
De igual manera, 2.7 fue lanzado al tiempo con 3.1 e incluye características de la nueva
versión, siendo la 2.7 la última publicación en la serie 2.x, la cual actualmente sólo recibe
actualizaciones de seguridad y dejará de tener soporte en 2020.
Python 3.0 rompe la compatibilidad hacia atrás del lenguaje, ya que el código de Python 2.x
no necesariamente debe correr en Python 3.0 sin modificación alguna.
A pesar de esto, Python 3.0 se mantiene como un lenguaje de programación
multiparadigma. Los programadores todavía tienen opciones entre orientación a objetos,
programación estructurada, programación funcional y otros paradigmas, pero dentro de
estas amplias opciones, los detalles intentan ser más obvios en Python 3.0 que como eran en
Python 2.x.

11/12/2020
8
UNIVERSIDAD NACIONAL DEL CALLAO
FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA
ESCUELA PROFESIONAL DE INGENIERÍA ELÉCTRICA

La última actualización de la versión 3 de Python ha sido lanzada este mes de octubre de


2020. Se trata de la versión 3.9. Este lenguaje de programación no volverá a ser actualizado
hasta octubre de 2021.
Por el momento, no hay planes de crear una nueva versión Python 4, incompatible con las
anteriores.
Uno de los proyectos más impresionantes escritos en Python es el servidor de Dropbox,
(lugar donde hoy en día trabaja Guido) que hoy en día sirve a millones de personas. Otro
uso increíble es por la comunidad científica como herramienta para Machine Learning.
En julio de 2018, Guido van Rossum anunció su retirada como BDOF.
En diciembre de 2018 se aprobó el PEP 8016 - The Steering Council Model que establece
como modelo de gobernanza de Python un consejo directivo formado por cinco miembros
elegidos entre los desarrolladores de Python y que será renovado tras cada publicación de
una versión principal de Python. El primer consejo directivo se eligió en enero de 2019. El
segundo consejo directivo se eligió en diciembre de 2019.
Guido van Rossum formó parte del primer consejo directivo, pero no del segundo,
completando así su retirada de la dirección de Python.
Según el PYPL 2020 (Popularity of Programming Language Index) creado a partir de datos
extraídos de Google Trends; analiza la frecuencia de búsqueda de tutoriales de lenguajes en
Google, el ranking se establece comparando el porcentaje de búsquedas del mes en curso
con el mismo período del año anterior; Python ocupa el primer lugar de dicho ranking.

11/12/2020
9
UNIVERSIDAD NACIONAL DEL CALLAO
FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA
ESCUELA PROFESIONAL DE INGENIERÍA ELÉCTRICA

Actualmente, en noviembre de 2020, Python se encuentra en la posición 2 del índice TIOBE


(The software quality company) ascendiendo desde la posición 3 de noviembre del año
previo. Contando desde 2001 ha logrado su más alta posición este año (#2) y su posición
más baja fue en el año 2003 (#13). También cabe recalcar que recibió los premios a
“Lenguaje del año” en los años 2007, 2010 y 2018.

MARCO TEORICO
Python es un lenguaje de programación interpretado cuya filosofía hace hincapié en la
legibilidad de su código. 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, dinámico y multiplataforma.
Es administrado por la Python Software Foundation. Posee una licencia de código
abierto, denominada Python Software Foundation License.
Es un lenguaje similar a Perl, pero con una sintaxis muy limpia y que favorece un código
legible.
Se trata de un lenguaje interpretado o de script, con tipado dinámico, fuertemente tipado,
multiplataforma y orientado a objetos.

PYTHON EN EL MUNDO
Este lenguaje de programación se encuentra dentro de los mejores y más populares
lenguajes de programación.
El índice de comunidad de programación TIOBE es un indicador de la popularidad de los
lenguajes de programación. El índice se actualiza una vez al mes. Las calificaciones se

11/12/2020
10
UNIVERSIDAD NACIONAL DEL CALLAO
FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA
ESCUELA PROFESIONAL DE INGENIERÍA ELÉCTRICA

basan en la cantidad de ingenieros calificados en todo el mundo, cursos y proveedores


externos.
Este lenguaje multiparadigma que lleva por nombre Python ofrece herramientas para
trabajar desde la programación orientada a objetos, así como de la programación funcional a
partir de list y programación imperativa, se pueden programar distintos tipos de
aplicaciones: scripts, aplicaciones web y aplicaciones de escritorio. Posee cientos de
bibliotecas que hacen que cualquier tipo de proyecto sea posible, ya sea una aplicación
móvil, aplicación web, ciencia de datos o inteligencia artificial. Por ejemplo, ‘Numpy’ para
computación científica, ‘Pybrain’ para aprendizaje automático, ‘Scipy’ para computación
avanzada y ‘AIMA’ para inteligencia artificial
Características
Las características del lenguaje de programación Python se resumen a continuación:
-Es un lenguaje interpretado, no compilado, usa tipado dinámico, fuertemente tipado.
-Es multiplataforma, lo cual es ventajoso para hacer ejecutable su código fuente entre varios
sistemas operativos.
-Es un lenguaje de programación multiparadigma, el cual soporta varios paradigmas de
programación como orientación a objetos, estructurada, programación imperativa y, en
menor medida, programación funcional
-En Python, el formato del código (p. ej., la indentación) es estructural.
1.- INTERPRETADO:
Normalmente los lenguajes de programación se pueden agrupar en Interpretados y
Compilados según la forma en la que son traducidos. Los lenguajes se inventaron para
facilitar al programador el desarrollo aplicaciones, imagina que nuestro computador trabaja
en código binario y sería muy difícil programar todo en unos y ceros,
Por eso cuando nosotros escribimos un código en realidad lo que estamos haciendo es
hablar un lenguaje más fácil de comprender para nosotros y que luego será traducido a
lenguaje de máquina que es lo que puede entender el procesador. Entonces, cómo se realiza
esta “traducción” es lo que los agrupa en Interpretados o Compilados:

Los lenguajes Compilados son aquellos en los que el código del programador es
traducido por completo de una sola vez mediante un proceso llamado “Compilado” para
ser ejecutado por un sistema predeterminado. Entre los más comunes encontramos “C”,

11/12/2020
11
UNIVERSIDAD NACIONAL DEL CALLAO
FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA
ESCUELA PROFESIONAL DE INGENIERÍA ELÉCTRICA

“C++”, Java, etc.


Y los lenguajes Interpretados son aquellos en los que el código del programador es
traducido mediante un intérprete a medida que es necesario. Entre los más comunes
encontramos “Python “, “Ruby”, “JavaScript”, etc.

El que Python sea interpretado nos presenta ventajas:


 Al ser interpretado no necesitamos compilar ahorrándonos mucho tiempo en el
desarrollo y prueba de una aplicación.
 Nuestro código fuente puede ser ejecutado en cualquier software siempre y
cuando este disponga del intérprete (Windows, Linux, Mac, Android, Web).

2.-MULTIPARADIGMA:
Esto nos dice que Python es un lenguaje que soporta más de un paradigma, suponiendo
paradigma como modelo de desarrollo (y cada lenguaje tiene el suyo).
1*IMPERATIVO:
Son aquellos que describen el estado del programa y permiten su modificación mediante
condiciones o instrucciones de código que le indican al computador cómo realizar una tarea.
En la programación IMPERATIVA se describe paso a paso un conjunto de instrucciones
que deben ejecutarse para variar el estado del programa y solucionar el problema.

2*FUNCIONAL:
La programación funcional es un paradigma basada en el uso de funciones matemáticas que
permite la variación del programa mediante la mutación de variables. Esto nos va a permitir
operar con datos de entrada y salida. Brindándole así la posibilidad al usuario de ingresar
datos que serán procesados para darnos otros datos de salida. Operar a través de funciones
recursivas (es decir que pueden volver a recurrirse a ellas) nos ahorrará muchas líneas de
código entre otras ventajas.
3*ORIENTADO A OBJETOS (POO):
La programación orientada a objetos ofrece la particularidad en la forma de obtener los
resultados. Los objetos manipulan los objetos de entrada para la obtención de resultados
(salida) específicos donde cada objeto nos ofrece una función específica y también nos
permite la agrupación de bibliotecas o librerías. Los objetos son entidades que tienen un
determinado estado, las entidades son propiedades que los diferencian.
Un ejemplo clásico en programación podría ser:
“El Objeto Coche cuyas propiedades serán por ejemplo, el color, el modelo. Este objeto
contiene toda la información que nos permitirá diferenciarlo de otros Objetos (otros
coches).”
3.-DE TIPADO DINAMICO:

11/12/2020
12
UNIVERSIDAD NACIONAL DEL CALLAO
FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA
ESCUELA PROFESIONAL DE INGENIERÍA ELÉCTRICA

Es de tipado dinámico cuando una variable puede tomar diferentes valores de distintos tipos
en diferentes momentos. En Python, las variables son declaradas por su contenido y no por
su contenedor, lo que nos va a permitir cambiar el valor y tipo de una variable durante la
ejecución sin necesidad de volver a declarar.
En Python:
-Si dentro de la variable colocamos números, la variable será de tipo numérica.
-Ahora, si colocamos letras, la variable será de tipo texto.
-Y si en ella colocamos un booleano (Verdadero o Falso), será de tipo booleano.
Es decir, vamos a guardar en ella lo que queremos y Python automáticamente detectara su
tipo, no hace falta que se lo indiquemos.
Python es un lenguaje multiparadigma, porque soporta más de un paradigma (modelo de
desarrollo de la programación).
Es interpretado porque el intérprete va a traducir nuestro código a medida que lo
necesitemos!
Es de tipado dinámico porque permite la mutación (transformación) de variables.
Y finalmente es multiplataforma porque se puede ejecutar en cualquier sistema operativo
que quieras.
ELEMENTOS DEL LENGUAJE
Python fue diseñado para ser leído con facilidad. Una de sus características es el uso de
palabras donde otros lenguajes utilizarían símbolos. Por ejemplo, los operadores lógicos !, ||
y && en Python se escriben not, or y and, respectivamente. Curiosamente el lenguaje
Pascal es junto con COBOL uno de los lenguajes con muy clara sintaxis y ambos son de la
década del 70. La idea del código claro y legible no es algo nuevo.
El contenido de los bloques de código (bucles, funciones, clases, etc.) es delimitado
mediante espacios o tabuladores, conocidos como indentación, antes de cada línea de
órdenes pertenecientes al bloque. Python se diferencia así de otros lenguajes de
programación que mantienen como costumbre declarar los bloques mediante un conjunto de
caracteres, normalmente entre llaves {}. Se pueden utilizar tanto espacios como tabuladores
para sangrar el código, pero se recomienda no mezclarlos.

11/12/2020
13
UNIVERSIDAD NACIONAL DEL CALLAO
FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA
ESCUELA PROFESIONAL DE INGENIERÍA ELÉCTRICA

Debido al significado sintáctico de la sangría, cada instrucción debe estar contenida en una
sola línea. No obstante, si por legibilidad se quiere dividir la instrucción en varias líneas,
añadiendo una barra invertida \ al final de una línea, se indica que la instrucción continúa en
la siguiente.
Estas instrucciones son equivalentes:

*Comentarios:
Los comentarios se pueden poner de dos formas. La primera y más apropiada para
comentarios largos es utilizando la notación ''' comentario ''', tres apóstrofos de apertura y
tres de cierre. La segunda notación utiliza el símbolo #, y se extienden hasta el final de la
línea.
El intérprete no tiene en cuenta los comentarios, lo cual es útil si deseamos poner
información adicional en el código. Por ejemplo, una explicación sobre el comportamiento
de una sección del programa.

*Constantes:
Una constante es un tipo de variable la cual no puede ser cambiada. Eso es muy de ayuda
pensar las constantes como contenedores que contienen información el cual no puede ser
cambiado después.
En Python, las constantes son usualmente declaradas y asignadas en un módulo. Aquí, el
módulo significa un nuevo archivo que contiene variables, funciones, etc; el cual es
importada en el archivo principal. Dentro del módulo, las constantes son escritas en letras
MAYÚSCULAS y separadas las palabras con el carácter underscore _.
CONSTANTE INTEGRADA
Un pequeño número de constantes vive en el espacio de nombres incorporado.
 None
 NotImplemented

11/12/2020
14
UNIVERSIDAD NACIONAL DEL CALLAO
FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA
ESCUELA PROFESIONAL DE INGENIERÍA ELÉCTRICA

 Ellipsis
 False
 True
 _debug_

*Variables:
Las variables se definen de forma dinámica, lo que significa que no se tiene que especificar
cuál es su tipo de antemano y puede tomar distintos valores en otro momento, incluso de un
tipo diferente al que tenía previamente. Se usa el símbolo = para asignar valores.

PALABRAS RESERVADAS

and del for is

assert elif from lambda

break else global not

class except if or

continue exec import pass

def finally in print

raise return try while

REGLAS Y CONVENCION DE NOMBRES


Algunas reglas y convenciones de nombres para las variables y constantes:

 No se usa símbolos especiales como: !, @, #, $, %, etc.


 El primer carácter no puede ser un número o dígito.
 Las constantes son colocadas dentro de módulos Python y significa que no
puede ser cambiado.
 Los nombres de constante y variable debería tener la combinación de letras en
minúsculas (de a a la z) o MAYÚSCULAS (de la A a la Z) o dígitos (del 0 al 9)
o un underscore (_).
 Los nombres que comienzan con guion bajo (simple _ o doble) se reservan para
variables con significado especial.
 No pueden usarse como identificadores, las palabras reservadas.

11/12/2020
15
UNIVERSIDAD NACIONAL DEL CALLAO
FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA
ESCUELA PROFESIONAL DE INGENIERÍA ELÉCTRICA

SENTENCIA GLOBAL
La sentencia global es una declaración que se mantiene para todo el bloque de código
actual. Eso significa que los identificadores listados son interpretados como globales. Eso
podría ser imposible asignar a una variable global sin la sentencia global, aunque las
variables libres pueden referirse a globales sin ser declaradas globales.

OPERADORES
1. Operadores de asignaciones:
Existe en Python todo un grupo de operadores los cuales le permiten básicamente asignar
un valor a una variable, usando el operador “=”. Con estos operadores pueden aplicar la
técnica denominada asignación aumentada.

a. Operador =

El operador igual a, (=), es el más simple de todos y asigna a la variable del lado
izquierdo cualquier variable o resultado del lado derecho.

b. Operador +=

El operador += suma a la variable del lado izquierdo el valor del lado derecho.

c. Operador -=

El operador -= resta a la variable del lado izquierdo el valor del lado derecho.

d. Operador *=

El operador *= multiplica a la variable del lado izquierdo el valor del lado derecho.

e. Operador /=

El operador /= divide a la variable del lado izquierdo el valor del lado derecho.

f. Operador **=

El operador **= calcula el exponente a la variable del lado izquierdo el valor del lado
derecho.

g. Operador //=

El operador //= calcula la división entera a la variable del lado izquierdo el valor del lado

11/12/2020
16
UNIVERSIDAD NACIONAL DEL CALLAO
FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA
ESCUELA PROFESIONAL DE INGENIERÍA ELÉCTRICA

derecho.

h. Operador %=

El operador %= devuelve el resto de la división a la variable del lado izquierdo el valor


del lado derecho.

i. Asignación aumenta

Es frecuente que una variable tenga que ser definida de nuevo en función de sí misma.

11/12/2020
17
UNIVERSIDAD NACIONAL DEL CALLAO
FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA
ESCUELA PROFESIONAL DE INGENIERÍA ELÉCTRICA

2. Operadores aritméticos
Los valores numéricos son además el resultado de una serie de operadores aritméticos y
matemáticos:

a. Operador Suma

El operador + suma los valores de tipo de datos numéricos.

b. Operador Resta

El operador - resta los valores de tipo de datos numéricos.

c. Operador Negación

El operador - asigna un valor negativo a un tipo de datos numéricos.

d. Operador Multiplicación

El operador * multiplica los valores de tipo de datos numéricos.

e. Operador Exponente

El operador ** calcula el exponente entre valores de tipo de datos numéricos.

f. Operador división

El operador división el resultado que se devuelve es un número real.

g. Operador división entera

El operador división entera el resultado que se devuelve es solo la parte entera. Python
convierte todos los operandos al tipo más complejo de entre los tipos de los operandos.

h. Operador Módulo

El operador módulo no hace otra cosa que devolver el resto de la división entre los dos
operandos. En el ejemplo, 7 / 2 sería 3, con 1 de resto, luego el módulo es 1.

i. Orden de precedencia

El orden de precedencia de ejecución de los operadores aritméticos es:

 Exponente: **
 Negación: -
 Multiplicación, División, División entera, Módulo: *, /, //, %
 Suma, Resta: +, -
UNIVERSIDAD NACIONAL DEL CALLAO
FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA
ESCUELA PROFESIONAL DE INGENIERÍA ELÉCTRICA

3. Operadores relacionales

Los valores booleanos son además el resultado de expresiones que utilizan


operadores relacionales (comparaciones entre valores):

a. Operador ==

El operador == evalúa que los valores sean iguales para varios tipos de datos.

b. Operador !=

El operador != evalúa si los valores son distintos.

c. Operador <

El operador < evalúa si el valor del lado izquierdo es menor que el valor del lado
derecho.

d. Operador >

El operador > evalúa si el valor del lado izquierdo es mayor que el valor del lado
derecho.

e. Operador <=

El operador <= evalúa si el valor del lado izquierdo es menor o igual que el valor del
lado derecho.

f. Operador >=

El operador >= evalúa si el valor del lado izquierdo es mayor o igual que el valor del
lado derecho.

TIPO NUMEROS
Estos tipos de datos se crean mediante literales numéricos y se devuelven como
resultados por operadores aritméticos y funciones aritméticas integradas. Los objetos
numéricos son inmutables; Una vez creado su valor nunca cambia.
Por supuesto, los números de Python están fuertemente relacionados con los números
matemáticos, pero están sujetos a las limitaciones de la representación numérica en las
computadoras.
Python distingue entre enteros, números de punto flotante y números complejos:
UNIVERSIDAD NACIONAL DEL CALLAO
FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA
ESCUELA PROFESIONAL DE INGENIERÍA ELÉCTRICA

CLASE TIPO NOTAS EJEMPLO


Número entero con precisión
int Números 42
fija.
Número entero en caso de 42L ó
long Números
overflow. 456966786151987643L
Coma flotante de doble
float Números 3.1415927
precisión.
Parte real y parte
complex Números (4.5 + 3j)
imaginaria j.

1. Enteros
Los números enteros son aquellos que no tienen decimales, tanto positivos como
negativos (además del cero). En Python se pueden representar mediante el tipo int
(de integer, entero) o el tipo long (largo). La única diferencia es que el tipo long
permite almacenarnúmeros más grandes. Es aconsejable no utilizar el tipo long a
menos que sea necesario, para no malgastar memoria.

El tipo int de Python se implementa a bajo nivel mediante un tipo long de C. Y dado
que Python utiliza C por debajo, como C, y a diferencia de Java, el rango de los
valores que puede representar depende de la plataforma. En la mayor parte de las
máquinas el long de C se almacena utilizando 32 bits, es decir, mediante el uso de
una variable de tipo int de Python puede almacenar números de -231 a 231 – 1, o lo
que es lo mismo, de -2.147.483.648 a 2.147.483.647. En plataformas de 64 bits, el
rango es de -9.223.372.036.854.775.808 hasta 9.223.372.036.854.775.807.

2. Enteros long

El tipo long de Python permite almacenar números de cualquier precisión, limitado


por la memoria disponible en la máquina.

Al asignar un número a una variable esta pasará a tener tipo int, a menos que el
número sea tan grande como para requerir el uso del tipo long.

3. Coma flotante

Los números reales son los que tienen decimales. En Python se expresan mediante
el tipo float. En otros lenguajes de programación, como C, tiene también el tipo
double, similar a float pero de mayor precisión (double = doble precisión).

Python, sin embargo, implementa su tipo float a bajo nivel mediante una variable de
tipo double de C, es decir, utilizando 64 bits, luego en Python siempre se utiliza
doble precisión, y en concreto se sigue el estándar IEEE 754: 1 bit para el signo, 11
para el exponente, y 52 para la mantisa. Esto significa que los valores que puede
representar van desde ±2,2250738585072020 x 10-308 hasta
±1,7976931348623157×10308.

La mayor parte de los lenguajes de programación siguen el mismo esquema para la


representación interna. Pero como muchos sabréis esta tiene sus limitaciones,
UNIVERSIDAD NACIONAL DEL CALLAO
FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA
ESCUELA PROFESIONAL DE INGENIERÍA ELÉCTRICA

impuestas por el hardware. Por eso desde Python 2.4 cuenta también con un nuevo
tipo Decimal, para el caso de que se necesite representar fracciones de forma más
precisa. Sin embargo, este tipo está fuera del alcance de este tutorial, y sólo es
necesario para el ámbito de la programación científica y otros relacionados.

Para aplicaciones normales puedes utilizar el tipo float sin miedo, como ha venido
haciéndose desde hace años, aunque teniendo en cuenta que los números en coma
flotante no son precisos (ni en este ni en otros lenguajes de programación).

Para representar un número real en Python se escribe primero la parte entera,


seguido de un punto y por último la parte decimal.

real = 0.2703

También se puede utilizar notación científica, y añadir una e (de exponente) para
indicar un exponente en base 10. Por ejemplo:

real = 0.1e-3, sería equivalente a 0.1 x 10-3 = 0.1 x 0.001 = 0.0001

4. Complejos

Los números complejos son aquellos que tienen parte imaginaria. Si no conocías de
su existencia, es más que probable que nunca lo vayas a necesitar, por lo que puede
saltarte este apartado tranquilamente.

De hecho, la mayor parte de lenguajes de programación carecen de este tipo, aunque


sea muy utilizado por ingenieros y científicos en general.

En el caso de que necesite utilizar números complejos, o simplemente tiene


curiosidad, este tipo, llamado complex en Python, también se almacena usando
coma flotante, debido a que estos números son una extensión de los números reales.

En concreto se almacena en una estructura de C, compuesta por dos variables de


tipo double, sirviendo una de ellas para almacenar la parte real y la otra para la parte
imaginaria.

Los números complejos en Python se representan de la

siguiente forma: complejo = 2.1 + 7.8j


UNIVERSIDAD NACIONAL DEL CALLAO
FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA
ESCUELA PROFESIONAL DE INGENIERÍA ELÉCTRICA

TIPO DE BOOLEANOS
El tipo booleano sólo puede tener dos valores: True (verdadero) y False (falso). Estos
valores son especialmente importantes para las expresiones condicionales y los bucles,
como verá más adelante.

CLASE TIPO NOTAS EJEMPLO


bool Números Valor booleano falso False
bool Números Valor booleano verdadero True

En el contexto de las operaciones booleanas, y también cuando las expresiones son


usadas bajo sentencias de flujo de control, los siguientes valores son interpretados como
False:
*False.
*None.
*Número cero en todos los tipos.
*Cadena de caracteres vaciás.
*Contenedores, incluyendo cadenas de caracteres, tuplas, listas, diccionarios y
conjuntos mutables e inmutables.
TIPO CADENA DE CARACTERES
Las cadenas de caracteres, son secuencias inmutables que contienen caracteres
encerrado entre comillas.
1.- Cadenas cortas:
Son caracteres encerrado entre comillas simples (') o dobles (").
2.- Cadenas largas:
Son caracteres encerrados entre grupo comillas triples simples (''') o dobles ("""), están
son generalmente son referenciadas como cadenas de triple comillas.
3.-Clases:
3.1.- baseestring:
Es la clase base de las clases str y unicode.
3.2.- str:
Son secuencias inmutables de cadenas de caracteres con soporte a caracteres ASCII.
UNIVERSIDAD NACIONAL DEL CALLAO
FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA
ESCUELA PROFESIONAL DE INGENIERÍA ELÉCTRICA

3.3.- unicode
Son secuencias inmutables de cadenas de caracteres con soporte a caracteres Unicode.
4.- Prefijo de cadenas:
Una cadena puede estar precedida por el carácter:
i. r/R, el cual indica, que se trata de una cadena raw (del inglés,
cruda). Las cadenas raw se distinguen de las normales en que los
caracteres escapados mediante la barra invertida (\) no se sustituyen
por sus contrapartidas. Esto es especialmente útil, por ejemplo, para
usar las expresiones regulares.
ii. u/U, el cual indica, que se trata de una cadena que utiliza
codificación unicode.

5.- Cadenas de escape:


Para escapar caracteres dentro de cadenas de caracteres se usa el carácter \ seguido de
cualquier carácter ASCII.

SECUENCIA
SIGNIFICADO
ESCAPE
\newline Ignorado
\\ Backslash (\)
\' Comillas simples (')
\" Comillas dobles (")
\a Bell ASCII (BEL)
\b Backspace ASCII (BS)
\f Formfeed ASCII (FF)
\n Linefeed ASCII (LF)
\N{name} Carácter llamado name en base de datos Unicode (Solo Unicode)
\r Carriage Return ASCII (CR)
\t Tabulación Horizontal ASCII (TAB)
\uxxxx Carácter con valor hex 16-bit xxxx (Solamente Unicode). Ver hex.
Carácter con valor hex 32-bit xxxxxxxx (Solamente Unicode). Ver
\Uxxxxxxxx
hex.
\v Tabulación Vertical ASCII (VT)
\ooo Carácter con valor octal ooo. Ver octal.
\xhh Carácter con valor hex hh. Ver hex.

También es posible encerrar una cadena entre triples comillas (simples o dobles). De
esta forma puede escribir el texto en varias líneas, y al imprimir la cadena, se respetarán
los saltos de línea que se introdujeron sin tener que recurrir a los carácteres escapados y
las comillas como los anteriores.
UNIVERSIDAD NACIONAL DEL CALLAO
FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA
ESCUELA PROFESIONAL DE INGENIERÍA ELÉCTRICA

6.-Operaciones:
Las cadenas también admiten operadores aritméticos como los siguientes:
 El operador suma para realizar concatenación de cadenas de caracteres
 El operador multiplicación para repetir la cadena de caracteres por N veces
definidas en la multiplicación
 El operador modulo usado la técnica de interpolaciones variables dentro de una
cadena de caracteres. Más información consulte la sección formateo %.

7.- Docstrings:
En Python todos los objetos cuentan con una variable especial llamada __doc__, gracias
a la cual puede describir para qué sirven los objetos y cómo se usan. Estas variables
reciben el nombre de docstrings, o cadenas de documentación.

FUNCIONES
Una función es un bloque de código con un nombre asociado, que recibe cero o más
argumentos como entrada, sigue una secuencia de sentencias, la cuales ejecuta una
operación deseada y devuelve un valor y/o realiza una tarea, este bloque puede ser
llamados cuando se necesite.
El uso de funciones es un componente muy importante del paradigma de la
programación llamada estructurada, y tiene varias ventajas:
1.-modularización: permite segmentar un programa complejo en una serie de partes o
módulos más simples, facilitando así la programación y el depurado.
2.-reutilización: permite reutilizar una misma función en distintos programas.
Python dispone de una serie de funciones integradas al lenguaje, y también permite
crear funciones definidas por el usuario para ser usadas en su propios programas.

1.-SENTENCIA DEF:
La sentencia def es una definición de función usada para crear objetos funciones
definidas por el usuario.
Una definición de función es una sentencia ejecutable. Su ejecución enlaza el nombre de
la función en el namespace local actual a un objecto función (un envoltorio alrededor
del código ejecutable para la función). Este objeto función contiene una referencia al
namespace local global como el namespace global para ser usado cuando la función es
llamada.
UNIVERSIDAD NACIONAL DEL CALLAO
FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA
ESCUELA PROFESIONAL DE INGENIERÍA ELÉCTRICA

La definición de función no ejecuta el cuerpo de la función; esto es ejecutado solamente


cuando la función es llamada.
La sintaxis para una definición de función en Python es:

A continuación, se detallan el significado de pseudo código fuente anterior:

NOMBRE, es el nombre de la función.

LISTA_DE_PARAMETROS, es la lista de parámetros que puede recibir una función.

DOCSTRING_DE_FUNCION, es la cadena de caracteres usada para documentar la función.

SENTENCIAS, es el bloque de sentencias en código fuente Python que realizar cierta operación dada.

RETURN, es la sentencia return en código Python.

EXPRESION, es la expresión o variable que devuelve la sentencia return.

Un ejemplo simple de función esta seguidamente:

La palabra reservada def se usa para definir funciones. Debe seguirle el nombre de la
función en el ejemplo anterior hola () y la lista de parámetros formales entre paréntesis.
Las sentencias que forman el cuerpo de la función empiezan en la línea siguiente, y
deben estar indentado.
La primera sentencia del cuerpo de la función puede ser opcionalmente unas cadenas de
caracteres literal; esta es las cadenas de caracteres de documentación de la función, o
docstrings. (Puedes encontrar más acerca de docstrings en la sección Cadenas de texto
de documentación).
Hay herramientas que usan las docstrings para producir automáticamente
documentación en línea o imprimible, o para permitirle al usuario que navegue el
código en forma interactiva; es una buena práctica incluir docstrings en el código que
uno escribe, por lo que se debe hacer un hábito de esto.
UNIVERSIDAD NACIONAL DEL CALLAO
FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA
ESCUELA PROFESIONAL DE INGENIERÍA ELÉCTRICA

La ejecución de la función hola () muestra la impresión de un mensaje Hola Plone ! que


se imprime por consola. Devolver el objeto por los valores de retorno opcionales.
La ejecución de una función introduce una nueva tabla de símbolos usada para las
variables locales de la función. Más precisamente, todas las asignaciones de variables en
la función almacenan el valor en la tabla de símbolos local; así mismo la referencia a
variables primero mira la tabla de símbolos local, luego en la tabla de símbolos local de
las funciones externas, luego la tabla de símbolos global, y finalmente la tabla de
nombres predefinidos. Así, no se les puede asignar directamente un valor a las variables
globales dentro de una función (a menos se las nombre en la sentencia global), aunque
si pueden ser referenciadas.
Los parámetros reales (argumentos) de una función se introducen en la tabla de
símbolos local de la función llamada cuando esta es ejecutada; así, los argumentos son
pasados por valor (dónde el valor es siempre una referencia a un objeto, no el valor del
objeto). Cuando una función llama a otra función, una nueva tabla de símbolos local es
creada para esa llamada.
La definición de una función introduce el nombre de la función en la tabla de símbolos
actual. El valor del nombre de la función tiene un tipo que es reconocido por el
intérprete como una función definida por el usuario. Este valor puede ser asignado a
otro nombre que luego puede ser usado como una función. Esto sirve como un
mecanismo general para renombrar.
2.-ARGUMENTOS Y PARAMETROS:
Al definir una función los valores los cuales se reciben se denominan parámetros, pero
durante la llamada los valores que se envían se denominan argumentos.
2.1.- Por posición:
Cuando enviá argumentos a una función, estos se reciben por orden en los parámetros
definidos. Se dice por tanto que son argumentos por posición:

En el ejemplo anterior el argumento 30 es la posición 0 por consiguiente es el parámetro


de la función a, seguidamente el argumento 10 es la posición 1 por consiguiente es el
parámetro de la función b.
2.2.- Por Nombre:
Sin embargo, es posible evadir el orden de los parámetros si indica durante la llamada
que valor tiene cada parámetro a partir de su nombre:
UNIVERSIDAD NACIONAL DEL CALLAO
FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA
ESCUELA PROFESIONAL DE INGENIERÍA ELÉCTRICA

2.3.- Llamada sin argumentos:


Al momento de llamar una función la cual tiene definidos unos parámetros, si no pasa
los argumentos correctamente provocará una excepción TypeError:

2.4.- Parámetros por defecto:


Para solucionar la excepción TypeError ejecutada al momento de la llamada a una
función sin argumentos, entonces usted puede asignar unos valores por defecto nulos a
los parámetros, de esa forma puede hacer una comprobación antes de ejecutar el código
de la función:

Como puede ver el código anterior, se indica el final de la función luego de la sentencia
print, usando la sentencia return aunque no devuelva nada.

3.-ARGUMENTOS INDETERMINADOS:
En alguna ocasión usted no sabe previamente cuantos elementos necesita enviar a una
función. En estos casos puede utilizar los parámetros indeterminados por posición y por
nombre.
3.1.- Por posición:
Usted debe crear una lista dinámica de argumentos, es decir, un tipo tupla, definiendo el
parámetro con un asterisco, para recibir los parámetros indeterminados por posición:
UNIVERSIDAD NACIONAL DEL CALLAO
FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA
ESCUELA PROFESIONAL DE INGENIERÍA ELÉCTRICA

3.2.- Por nombre:


Para recibir un número indeterminado de parámetros por nombre (clave-valor o en
inglés keyword args), usted debe crear un diccionario dinámico de argumentos
definiendo el parámetro con dos asteriscos:

Al recibirse como un diccionario, puede iterarlo y mostrar la clave y valor de cada


argumento:

3.3.- Por posición y nombre:


Si requiere aceptar ambos tipos de parámetros simultáneamente en una función,
entonces debe crear ambas colecciones dinámicas.
Primero los argumentos indeterminados por valor y luego los cuales son por clave y
valor:

Los nombres args y


kwargs no son obligatorios, pero se suelen utilizar por convención.
Muchos frameworks y librerías los utilizan por lo que es una buena práctica llamarlos
así.
UNIVERSIDAD NACIONAL DEL CALLAO
FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA
ESCUELA PROFESIONAL DE INGENIERÍA ELÉCTRICA

4.- SENTENCIA PASS:


Es una operación nula — cuando es ejecutada, nada sucede. Eso es útil como un
contenedor cuando una sentencia es requerida sintácticamente, pero no necesita código
que ser ejecutado, por ejemplo:

5.- SENTENCIA RETURN:


Las funciones pueden comunicarse con el exterior de las mismas, al proceso principal
del programa usando la sentencia return. El proceso de comunicación con el exterior se
hace devolviendo valores. A continuación, un ejemplo de función usando return:

Esta función se llama de la siguiente forma:

5.1.- Retorno múltiple:


Una característica interesante, es la posibilidad de devolver valores múltiples separados
por comas:
UNIVERSIDAD NACIONAL DEL CALLAO
FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA
ESCUELA PROFESIONAL DE INGENIERÍA ELÉCTRICA

En el código anterior los valores múltiples se tratan en conjunto como una tupla
inmutable y se pueden reasignar a distintas variables:

En el código anterior puede observar cómo se asignar a distintas variables en base a los
valores de la tupla inmutable.
ENTRADA Y SALIDA DE PYTHON
Los programas serían de muy poca utilidad si no fueran capaces de interaccionar con el
usuario.
1.-ENTRADA ESTANDAR:
Para pedir información al usuario, debe utilizar las funciones integradas en el intérprete
del lenguaje, así como los argumentos de línea de comandos.
La función raw_input() siempre devuelve un valor de cadenas de caracteres:

La función input() siempre devuelve un valor numérico:

2.-
En muchas prácticas de este entrenamiento usted lo que ha hecho ha sido escribir código
en el intérprete, y/o escribir/ejecutar pequeños programas Python, pero los programas
informáticos no funcionan así.
UNIVERSIDAD NACIONAL DEL CALLAO
FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA
ESCUELA PROFESIONAL DE INGENIERÍA ELÉCTRICA

Se basan en escribir todas las instrucciones en archivos llamados scripts, que no es mas
que guiones de instrucciones. Luego se envía este archivo al intérprete como parámetro
desde la terminal de comando (si es un lenguaje interpretado como Python) y éste
ejecutará todas las instrucciones en bloque.
A parte de ser la base del funcionamiento de los programas, la característica de los
scripts es que pueden recibir datos desde la propia terminal de comando en el momento
de la ejecución, algo muy útil para agregar dinamismo los scripts a través de parámetros
personalizables.
3.-SALIDA ESTANDAR:
La forma general de mostrar información por pantalla es mediante una consola de
comando, generalmente podemos mostrar texto y variables separándolos con comas,
para este se usa la sentencia print.
3.1.- Sentencia print:
Sentencia print evalúa cada expresión, devuelve y escribe el objeto resultado a la salida
estándar de la consola de comando. Si un objeto no es un tipo cadena de caracteres, ese
es primeramente convertido a un tipo cadena de caracteres usando las reglas para las
conversiones del tipo. La cadena de caracteres (resultado o original) es entonces escrito.

3.2.- Formato de impresión de cadenas:


En la sentencia print se pueden usar el formato de impresión alternando las cadenas de
caracteres y variables:

ERRORES
Hay dos tipos de errores:
1.- Errores de sintaxis:
Los errores de sintaxis, también conocidos como errores de interpretación, son quizás el
tipo de queja más común que tenés cuando todavía estás aprendiendo Python:
UNIVERSIDAD NACIONAL DEL CALLAO
FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA
ESCUELA PROFESIONAL DE INGENIERÍA ELÉCTRICA

El intérprete repite la línea culpable y muestra una pequeña ‘flecha’ que apunta al
primer lugar donde se detectó el error. Este es causado por (o al menos detectado en) el
símbolo que precede a la flecha: en el ejemplo, el error se detecta en la sentencia print,
ya que faltan dos puntos (':') antes del mismo. Se muestran el nombre del archivo y el
número de línea para que sepas dónde mirar en caso de que la entrada venga de un
programa.

2.- Excepciones:
Incluso si la sentencia o expresión es sintácticamente correcta, puede generar un error
cuando se intenta ejecutarla. Los errores detectados durante la ejecución se llaman
excepciones, y no son incondicionalmente fatales: pronto aprenderás cómo manejarlos
en los programas en Python. Sin embargo, la mayoría de las excepciones no son
manejadas por los programas, y resultan en mensajes de error como los mostrados aquí:

La cadena mostrada como tipo de la excepción es el nombre de la excepción predefinida


que ocurrió. Esto es verdad para todas las excepciones predefinidas del intérprete, pero
no necesita ser verdad para excepciones definidas por el usuario (aunque es una
convención útil). Los nombres de las excepciones estándar son identificadores
incorporados al intérprete (no son palabras clave reservadas).
UNIVERSIDAD NACIONAL DEL CALLAO
FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA
ESCUELA PROFESIONAL DE INGENIERÍA ELÉCTRICA

BIBLIOTECAS
El lenguaje de programación Python está adquiriendo muchísima popularidad en el
mundo de Machine Learning. En parte, esto se debe a la disponibilidad de una gran
cantidad de librerías para visualización, cálculo numérico, análisis de datos, aprendizaje
automático y deep Learning.
 LIBRERÍAS DE PYTHON PARA VISUALIZACIÓN:
1. Matplotlib

Matplotlib es la librería gráfica de Python estándar y la más conocida. Puedes


usar matplotlib para generar gráficos de calidad necesaria para publicarlas
tanto en papel como digitalmente. Con matplotlib puedes crear muchos tipos
de gráficos: series temporales, histogramas, espectros de potencia, diagramas
de barras, diagramas de errores, etc.

2.

2. Seaborn

Seaborn es una librería gráfica basada en matplotlib, especializada en la


visualización de datos estadísticos. Se caracteriza por ofrecer un interfaz de
alto nivel para crear gráficos estadísticos visualmente atractivos e
informativos. Seaborn considera la visualización como un aspecto
UNIVERSIDAD NACIONAL DEL CALLAO
FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA
ESCUELA PROFESIONAL DE INGENIERÍA ELÉCTRICA

fundamental a la hora de explorar y entender los datos. Se integra muy bien


con la librería de manipulación de datos pandas.

3. Bokeh

Bokeh es una librería para visualizar datos de forma interactiva en un


navegador web. Con bokeh podemos crear gráficos versátiles, elegantes e
interactivos. Los desarrolladores de bokeh buscan un buen rendimiento con
gran cantidad de datos, incluso con datos que vayan llegando en tiempo real.

4. Plotly

Es una herramienta de visualización en línea que se utiliza para el análisis de


datos, gráficos científicos y otras visualizaciones, hay muchas visualizaciones
interactivas de calidad profesional en línea que se crearon con este módulo.
Es diferente a las otras librerías de Python ya que es una herramienta
interactiva en línea que crea las representaciones, por lo tanto, lo que se está
creando con ella se publica en la web. Los gráficos creados son altamente
interactivos con consejos de herramientas y variedad de otras opciones, como
efecto de zoom, panorámica, selección escala automática, movimiento,
UNIVERSIDAD NACIONAL DEL CALLAO
FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA
ESCUELA PROFESIONAL DE INGENIERÍA ELÉCTRICA

reinicio, entre otros. Se modifica fácilmente haciendo clic en diferentes partes


y parámetros del gráfico sin conocimiento de código.

5.

5. Pygal

Es una parte de la librería de Python que exporta gráficos vectoriales en


diferentes formas y estilos, es gratuita de código abierto y ha sido
ampliamente utilizado debido a sus altas opciones de personalización y
simplicidad al mismo tiempo. Las opciones para crear visualizaciones están
muy abiertas e incluyen gráficos circulares, gráficos de barras, histogramas,
mapas, entre otros, todo depende del aspecto y las sensaciones requeridos del
gráfico.
Su principal diferenciador es la capacidad de generar gráficos SVG o gráficos
vectoriales escalables. Mientras trabajes con conjuntos de datos pequeños,
SVG le hará bien, pero si estás creando gráficos con cientos de miles de
puntos de datos, tendrás problemas para renderizar y se volverán lentos.

 Librerías de Python para Cálculo Numérico y Análisis de Datos:


UNIVERSIDAD NACIONAL DEL CALLAO
FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA
ESCUELA PROFESIONAL DE INGENIERÍA ELÉCTRICA

1. NumPy

NumPy proporciona una estructura


de datos universal que posibilita el
análisis de datos y el intercambio de
datos entre distintos algoritmos. Las
estructuras de datos que implementa
son vectores multidimensionales y
matrices con capacidad para gran
cantidad de datos. Además, esta librería proporciona funciones matemáticas
de alto nivel que operan en estas estructuras de datos.

2. SciPy

SciPy proporciona rutinas


numéricas eficientes fáciles de usar
y opera en las mismas estructuras
de datos proporcionadas por
NumPy. Por ejemplo, con SciPy
puedes realizar: integración
numérica, optimización,
interpolación, transformadas de
Fourier, álgebra lineal, estadística, etc.
3. Pandas

Pandas es una de las librerías


de Python más útiles para los
científicos de datos. Las
estructuras de datos principales
en pandas son Series para datos
en 1 dimensión y DataFrame
para datos en 2 dimensiones.
Estas son las estructuras de
datos más usadas en muchos
campos tales como finanzas,
estadística, ciencias sociales y muchas áreas de ingeniería. Pandas destaca por
lo fácil y flexible que hace la manipulación de datos y el análisis de datos.

 Librerías de Python para Machine Learning:

Scikit-learn
UNIVERSIDAD NACIONAL DEL CALLAO
FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA
ESCUELA PROFESIONAL DE INGENIERÍA ELÉCTRICA

Scikit-learn es una librería de Python para Machine Learning y Análisis de


Datos. Está basada en NumPy, SciPy y Matplotlib. Las ventajas principales de
scikit-learn son su facilidad de uso y la gran cantidad de técnicas de aprendizaje
automático que implementa. Con scikit-learn podemos realizar aprendizaje
supervisado y no supervisado. Podemos usarlo para resolver problemas tanto de
clasificación y como de regresión.

 Librerías de Python para Deep Learning:

1. TensorFlow

TensorFlow es una librería de


Python, desarrollada por Google,
para realizar cálculos numéricos
mediante diagramas de flujo de datos.
Esto puede chocar un poco al
UNIVERSIDAD NACIONAL DEL CALLAO
FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA
ESCUELA PROFESIONAL DE INGENIERÍA ELÉCTRICA

principio, porque en vez de codificar un programa, codificaremos un grafo.


Los nodos de este grafo serán operaciones matemáticas y las aristas
representan los tensores (matrices de datos multidimensionales). Con esta
computación basada en grafos, TensorFlow puede usarse para deep learning y
otras aplicaciones de cálculo científico.

2. Keras

Keras es un interfaz de
alto nivel para trabajar
con redes neuronales. El
interfaz de Keras es
mucho más fácil de usar
que el de TensorFlow.
Esta facilidad de uso es
su principal
característica. Con Keras es muy fácil comprobar si nuestras ideas tendrán
buenos resultados rápidamente. Keras utiliza otras librerías de deep learning
(TensorFlow, CNTK o Theano) de forma transparente para hacer el trabajo
que le digamos.

3. PyTorch

PyTorch es una librería


de Python, desarrollada
por Facebook, que
permite el cálculo numérico eficiente en CPU y GPUs. Puedes pensar en
PyTorch como una librería que te la las capacidades de NumPy en una GPU.
En otras palabras, si tu tarjeta gráfica tiene un procesador gráfico (por
ejemplo, una NVIDIA moderna), tu código se puede ejecutar unas ¡10 – 20
veces más rápido! El aprendizaje profundo (deep learning) usa cálculos
matriciales y de derivadas masivos y paralelizables en GPUs. Por eso,
PyTorch también se especializa en deep learning.

 Librerías de Python para Procesamiento de Lenguaje Natural:

1. NLTK: Natural Language Toolkit

NLTK es una de las


librerías más antiguas en
Python para
procesamiento de lenguaje
natural. Sigue siendo muy
UNIVERSIDAD NACIONAL DEL CALLAO
FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA
ESCUELA PROFESIONAL DE INGENIERÍA ELÉCTRICA

útil para tareas de preprocesado de texto tales como la tokenización,


lematización, exclusión de palabras irrelevantes, etc. NLTK también se usa
mucho como herramienta de estudio y enseñanza de procesamiento del
lenguaje.

2. gensim

gensim es una librería para


el procesamiento de
lenguaje natural creada por
Radim Rehurek. El punto
fuerte de gensim es el
modelado de temas. Es
decir, puede identificar
automáticamente de que
tratan un conjunto de documentos. Además, gensim es útil para construir o
importar representaciones de vectores distribuidas tales como word2vec.
También podemos usar gensim para analizar la similaridad entre documentos,
lo que es muy útil cuando realizamos búsquedas.

3. spaCy

spaCy es la librería de procesamiento


natural más rápida que existe. Está
diseñada para usarse en aplicaciones
reales y extraer información relevante.
spaCy también es muy útil para
preparar texto para otras tareas de
aprendizaje automático. Por ejemplo,
podemos preparar los datos para
usarlos con TensorFlow, PyTorch, scikit-learn, Gensim, etc. Con spaCy
también vamos a poder construir modelos lingüísticos estadísticos
sofisticados para muchos de los problemas de procesamiento de lenguaje
natural.
UNIVERSIDAD NACIONAL DEL CALLAO
FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA
ESCUELA PROFESIONAL DE INGENIERÍA ELÉCTRICA

EJERCICIOS DE APLICACIÓN:
1. Elaborar un programa que pida una cantidad de segundos y muestre cuantas horas,
minutos y segundos son.
PROGRAMA:
segundos=input("Ingrese cantidad de segundos: ")
segundos=int(segundos)
horas=segundos//3600
sobrante1=segundos%3600
minutos=sobrante1//60
sobrante2= sobrante1%60
print("Horas")
print(horas)
print("Minutos")
print(minutos)
print("Segundos")
print(sobrante2)
UNIVERSIDAD NACIONAL DEL CALLAO
FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA
ESCUELA PROFESIONAL DE INGENIERÍA ELÉCTRICA

SIMULACIÓN:

2. Escribir un programa que permita al usuario ingresar el radio (cm) y altura (cm) de
un termo de forma cilíndrica el programa debe calcular el volumen del termo y
mostrar TRUE si el usuario puede llenar el termo con 300ml mostrar FALSE en
caso contrario.
PROGRAMA:
radio=float(input("Ingrese radio del termo: "))
altura=float(input("Ingrese altura del termo: "))
pi=3.14
volumen=pi*(radio**2)*altura
print("El volumen del termo es: ",volumen, "cm^3")
cond=volumen>=300
print("¿Puede llenar el termo con 300ml de agua?:",cond)
UNIVERSIDAD NACIONAL DEL CALLAO
FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA
ESCUELA PROFESIONAL DE INGENIERÍA ELÉCTRICA

SIMULACIÓN:
CASO 1:

CASO 2:

3. Crear un programa que genere el correo institucional de un alumno de la UNAC a


partir de los siguientes datos:

 Web institucional (asumir que la URL terminará com.edu.pe)


 Primer nombre
 Segundo nombre
 Primer apellido
 Segundo apellido
UNIVERSIDAD NACIONAL DEL CALLAO
FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA
ESCUELA PROFESIONAL DE INGENIERÍA ELÉCTRICA

El correo debe tener la siguiente estructura:

Primera Primera Primera


Nombre de
letra del letra del Primer letra del
@ la .edu.pe
primer segundo apellido segundo
universidad
nombre nombre apellido

Ejemplo de salida:

Ingrese URL institucional:


Ingrese Primer Nombre:
Ingrese Segundo Nombre:
Ingrese Primer Apellido:
Ingrese Segundo Apellido:
Su correo institucional es:

PROGRAMA:
web=input("Ingrese URL institucional: ")
nom1=input("Ingrese Primer Nombre: ")
nom2=input("Ingrese Segundo Nombre: ")
ape1=input("Ingrese Primer Apellido: ")
ape2=input("Ingrese Segundo Apellido: ")
letra1=nom1[0]
letra2=nom2[0]
letra3=ape2[0]
nomUniv=web[:4]
correo=letra1+letra2+ape1+letra3+"@"+nomUniv+".edu.pe"
print("Su correo institucional es: {}".format(correo))
print("Su correo institucional es: ",correo)
UNIVERSIDAD NACIONAL DEL CALLAO
FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA
ESCUELA PROFESIONAL DE INGENIERÍA ELÉCTRICA

SIMULACIÓN:

4. Crear un programa que simule el juego del ahorcado, el programa debe seleccionar
una palabra aleatoria, el usuario debe ingresar una palabra y si es igual a la palabra
aleatoria entonces el programa mostrará TRUE, en caso contrario FALSE.

PROGRAMA:

import random as rd
palabras=["Capuchino","Capricornio","Ardilla","Anastacia","Habitación","Comisari
o","Computadora"]
indice=rd.randint(0,len(palabras)-1)
pal=palabras[indice]
palMayus=pal.upper()
letraPri=palMayus[0]
letraUlt=palMayus[-1]
n=len(palMayus)-2
subGuio=n * " _ "
pista= letraPri + subGuio + letraUlt
print(pista)
palUser=input("Adivine la palabra: ").upper()
cond= palUser == palMayus
print("¿Ganó?: ",cond)
UNIVERSIDAD NACIONAL DEL CALLAO
FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA
ESCUELA PROFESIONAL DE INGENIERÍA ELÉCTRICA

SIMULACIÓN:
CASO 1:

CASO 2:
UNIVERSIDAD NACIONAL DEL CALLAO
FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA
ESCUELA PROFESIONAL DE INGENIERÍA ELÉCTRICA

5. Elaborar un programa que permita al usuario ingresar las medidas del cateto a y b de
un triángulo rectángulo, y el programa deberá calcular la hipotenusa del triángulo a
partir del teorema de Pitágoras.

PROGRAMA:

num1=float(input("Ingrese el cateto a: "))


num2=float(input("Ingrese el cateto b: "))
hipote=((num1**2)+(num2**2))**(1/2)
print("La medida de la Hipotenusa es: {:.3f}".format(hipote))

SIMULACIÓN:
UNIVERSIDAD NACIONAL DEL CALLAO
FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA
ESCUELA PROFESIONAL DE INGENIERÍA ELÉCTRICA

6. Escriba un programa que pregunte cuantos números se van a introducir, permita el


ingreso de dichos números y muestre por pantalla cuando números son pares y la
suma de todos los impares.

PROGRAMA:

veces=int(input("¿Cuántos números desea ingresar?"))


cont = 0
acum = 0
for i in range(veces):
print("---Ciclo "+str(i+1)+"---")
num=int(input("Ingrese un número: "))
if num%2==0:
cont+=1
else:
acum+=num
print("La cantidad de números pares es: ", cont)
print("La suma total de números impares es: ",acum)

SIMULACIÓN:
UNIVERSIDAD NACIONAL DEL CALLAO
FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA
ESCUELA PROFESIONAL DE INGENIERÍA ELÉCTRICA

7. Crear un programa que permita identificar si un número ingresado por el usuario es


“primo”.

PROGRAMA:

for num in range(1,50):


if num > 1:
cont=0
i=2
while i<num and cont==0:
resto=num%i
if resto==0:
cont+=1
i+=1
if cont==0:
print(num)
UNIVERSIDAD NACIONAL DEL CALLAO
FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA
ESCUELA PROFESIONAL DE INGENIERÍA ELÉCTRICA

SIMULACIÓN:

8. Se acercan las elecciones para elegir al delegado del curso de Programación, se


cuenta con los siguientes candidatos: Alvin, Jazmín, Leslie, Ruth, Franco, Enrique,
Aldair, Alexandra.

Se debe desarrollar un programa, que permita a todos los estudiantes votar por uno
de los candidatos, considerar que solo hay una fila para acercarse a votar (Los
estudiantes votan uno por uno), las votaciones finalizan cuando escriban “fin” en
lugar de un nombre:

Al finalizar las votaciones el programa deberá mostrar lo siguiente:

 El total de estudiantes que votaron.


 El ganador.
 Votos del ganador.

PROGRAMA:

Candidatos =
["Alvin","Jazmin","Leslie","Ruth","Franco","Enrique","Aldair","Alexandra"]
contL=[0]*len(Candidatos)

voto=input("Ingrese nombre del estudiante a votar o ingrese 'Fin': ")


while voto!="Fin":
UNIVERSIDAD NACIONAL DEL CALLAO
FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA
ESCUELA PROFESIONAL DE INGENIERÍA ELÉCTRICA

votoMayus=voto.capitalize()
if votoMayus in Candidatos:
pos=Candidatos.index(votoMayus)
contL[pos]+=1
else:
print("Voto no valido")
voto=input("Ingrese nombre del estudiente a votar o ingrese 'Fin': ")
cantEst=sum(contL)
cantMax=max(contL)
posCont=contL.index(cantMax)
gana=Candidatos[posCont]
print("El total de estudiantes que votaron fue: {}".format(cantEst))
print("Gana: {} con {} votos".format(gana,cantMax))

SIMULACIÓN:
UNIVERSIDAD NACIONAL DEL CALLAO
FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA
ESCUELA PROFESIONAL DE INGENIERÍA ELÉCTRICA

Aplicaciones de Python
Si estás pensando en aprender Python, o si recientemente comenzaste a aprenderlo, te
estarás preguntando: “¿Para qué puedo usar exactamente Python?”.
Bueno, esa es una pregunta difícil de responder, porque hay muchas aplicaciones para
Python. Sin embargo, hay claramente 3 aplicaciones más populares que el resto:

 Desarrollo Web.
 Ciencia de datos, incluido el aprendizaje automático, el análisis de datos y la
visualización de datos.
 Scripting.
UNIVERSIDAD NACIONAL DEL CALLAO
FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA
ESCUELA PROFESIONAL DE INGENIERÍA ELÉCTRICA

1.- Desarrollo Web con Python


Los frameworks web basados en Python como Django y Flask se han vuelto muy
populares recientemente para el desarrollo web. Estos frameworks ayudan a crear
código de servidor (código de back-end) en Python. Ese es el código que se ejecuta en
su servidor, a diferencia de los dispositivos y navegadores de los usuarios (código de
front-end).

 ¿Por qué necesitamos un Framework web?


Esto se debe a que un framework web facilita la creación de una lógica de back-
end común. Esto incluye correlacionar diferentes URL’ s con fragmentos de
código Python, tratar con bases de datos y generar archivos HTML que los
usuarios ven en sus navegadores.

 ¿Qué Framework web de Python deberíamos usar?


Django y Flask son dos de los frameworks web de Python más populares. Lo
mejor es usar uno de ellos si recién estás comenzando.
 ¿Cuál es la diferencia entre Django y Flask?
Diferencias Principales:

1) Flask proporciona simplicidad, flexibilidad y gran control. No es optimizado


(te permite decidir cómo quieres implementar cosas).
2) Django proporciona una experiencia de “todo incluido”: obtienes un panel de
administración, interfaces de base de datos, un ORM (mapeo relacional de
objetos), una estructura de directorios para tus aplicaciones y proyectos listos
para usar.
Deberíamos elegir:
Flask, si estás enfocado en la experiencia y las oportunidades de aprendizaje, o
si quieres tener más control sobre qué componentes usar (como qué bases de
datos quieres usar y cómo quieres interactuar con ellas).
Django, si te centras en el producto final. Especialmente si estás trabajando en
una aplicación sencilla, como un sitio de noticias, una tienda electrónica o un
blog, y deseas que siempre haya una manera única y obvia de hacer las cosas.
En otras palabras, si eres un principiante, Flask es probablemente una mejor
opción porque tiene menos componentes con los que lidiar. Además, Flask es
una mejor opción si quieres más personalización. Por último, Flask es más
adecuado para crear estas cosas denominadas API REST que Django debido a su
UNIVERSIDAD NACIONAL DEL CALLAO
FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA
ESCUELA PROFESIONAL DE INGENIERÍA ELÉCTRICA

flexibilidad. Por otro lado, si estás buscando construir algo sencillo, Django
probablemente te permita llegar más rápido.

2.- Python para Ciencia de datos, incluido el aprendizaje automático, el


análisis de datos y la visualización de datos.
El aprendizaje automático generalmente implementa un algoritmo que detecta
automáticamente un patrón en la entrada determinada. Por ejemplo, le puedes dar 1.000
imágenes de un perro y 1.000 imágenes de una tabla a un algoritmo de aprendizaje
automático. Luego, aprenderá la diferencia entre un perro y una mesa. Cuando le das
una nueva imagen de un perro o una mesa, podrá reconocer cuál es.
Puedes aplicar la misma idea a sistemas de recomendación (piensa en YouTube,
Amazon y Netflix), Reconocimiento facial o reconocimiento de voz entre otras
aplicaciones.
Los algoritmos populares de aprendizaje automático de los que quizás hayas oído hablar
incluyen redes neuronales, aprendizaje profundo, máquinas de vectores de soporte,
bosque aleatorio… se puede usar cualquiera de estos algoritmos para resolver el
problema de etiquetado de imágenes del perro y la mesa.

A) Python para aprendizaje automático


Existen bibliotecas conocidas de aprendizaje automático y frameworks para
Python. Dos de los más populares son scikit-learn y TensorFlow. scikit-learn
viene con algunos de los algoritmos de aprendizaje automático más populares
incorporados. TensorFlow es más una biblioteca de bajo nivel que permite crear
algoritmos de aprendizaje automático personalizados. Si estás comenzando con
un proyecto de aprendizaje automático, lo recomendable es que empieces con
scikit-learn. Si comienzas a encontrar problemas de eficiencia, entonces
comenzaría a investigar sobre TensorFlow.

B) Análisis / visualización de datos con Python


Una de las bibliotecas más populares para la visualización de datos es
Matplotlib. Es una buena biblioteca para comenzar porque: Es fácil comenzar
con ella, y algunas otras bibliotecas, como seaborn, se basan en ella. Por ello,
aprender Matplotlib te ayudará a aprender estas otras bibliotecas más adelante.

3.- Scripting con Python


El scripting generalmente se refiere a escribir pequeños programas que están diseñados
para automatizar tareas simples. Python es adecuado para este tipo de tareas,
principalmente porque tiene una sintaxis relativamente simple y es fácil de escribir.
También es rápido escribir algo pequeño con él y probarlo.
UNIVERSIDAD NACIONAL DEL CALLAO
FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA
ESCUELA PROFESIONAL DE INGENIERÍA ELÉCTRICA

Otras aplicaciones de Python


 Aplicaciones integradas: Python funciona con Rasberry Pi. Es una aplicación
popular entre los aficionados al hardware.
 Gaming y desarrollo de juegos: se puede usar una biblioteca llamada PyGame
para desarrollar juegos, pero no es el motor de juegos más popular que existe.
Podrías usarlo para construir un proyecto como pasatiempo, pero no es
recomendable si te tomas en serio el desarrollo del juego.
 Aplicaciones de escritorio: podrías crear una con Python usando Tkinter, pero
tampoco es la opción más popular.

Grandes proyectos con Python


Python es un lenguaje de programación muy famoso porque en las manos adecuadas se
convierte en una especie de navaja suiza en el mundo del desarrollo de software.
Muchos proyectos exitosos así lo confirman. Sin embargo, su facilidad no involucra de
ninguna forma algún tipo de debilidad o carencia, por el contrario, grandes empresas
han asentado sus plataformas empleando su código, desde pequeños sitios web que
comenzaron como experimentos, hasta grandes proyectos realizados por organizaciones
de jerarquía como la NASA. Pero veamos con mayor detalle algunos proyectos famosos
realizados con Python. Estoy seguro que te sorprenderá esta pequeña lista, pues muy
probablemente usaste alguno de estos sitios y no tenías idea de su origen.

Instagram
Sí, los selfies que te sacas llegan a tus numerosos fanáticos gracias a que Instagram
utiliza Python.
A opinión de sus ingenieros, Python es el lenguaje perfecto para Instagram, puesto a que
es de fácil desarrollo, muy simple de gestionar y es perfecto para el gran volumen de
visitas que recibe Instagram diariamente.
Los ingenieros de Instagram, hablan de Python como un lenguaje muy amigable que
permite al equipo enfocarse en la experiencia del usuario.
Instagram, siendo hoy una las redes con más cantidad de usuarios activos, lleva tras el
telón un gran trabajo realizado por especialistas en Python.
Aunque sus ingenieros, como es lógico, hacen uso de otros lenguajes tanto en el Front
End como el Back End, gran parte del código primario tiene sus raíces en el popular
lenguaje de la serpiente.
UNIVERSIDAD NACIONAL DEL CALLAO
FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA
ESCUELA PROFESIONAL DE INGENIERÍA ELÉCTRICA

Pinterest
Pinterest no se queda atrás y coincidentemente utiliza Python siendo uno de los
servicios de imágenes más requeridos en la actualidad.
Esta increíble plataforma que sirve a muchos día a día para encontrar inspiración e ideas
para proyectos está desarrollada con Python. El motor de la plataforma web está
completamente escrito con el lenguaje de programación Python. Se sabe además que
uno de los framework más populares, Django, es usado en la capa de aplicación o
backend del sitio.
Como bien se sabe, el uso de frameworks facilita mucho el trabajo Back End, siendo
Flask y Django el motor de grandes servicios web, dado que pueden incorporarse
mejoras progresivas al código, concepto comúnmente definido como escalabilidad.
UNIVERSIDAD NACIONAL DEL CALLAO
FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA
ESCUELA PROFESIONAL DE INGENIERÍA ELÉCTRICA

DROPBOX
El increíble servicio de alojamiento en la nube está escrito con Python.
Seguramente tu eres un usuario de Dropbox, ¿Quién no atesora el alojamiento en la
nube gratis?
Casi el 100% del código de Dropbox está escrito con Python, siendo utilizado en el
cliente Desktop y en la aplicación, siendo este último migrado recientemente a Go.
Así mismo también es utilizado en los controladores de la web. De esta manera se
garantiza que Dropbox funcione perfectamente, en cualquier sistema operativo gracias a
Python.
UNIVERSIDAD NACIONAL DEL CALLAO
FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA
ESCUELA PROFESIONAL DE INGENIERÍA ELÉCTRICA

PANDA 3D
Panda 3D, para aquellos que no están familiarizados, es un motor para juegos el cual
contiene gráficos y sonido, para la creación de juegos en 3D.
Además, es muy popular por ser de licencia abierta o software libre. Eso no impidió que
gigantes como Disney hagan uso de su código base.
Éste está desarrollado con Python y C++, pero Python confiere gran parte de sus
bondades, siendo reconocido como un motor eficiente y que permite la creación de
juegos con calidad avanzada.

BATTLEFIELD 2
Si pensabas que Python solo servía para la web estabas equivocado. Battlefield es un
juego de batalla en primera persona, donde el jugador toma control de distintos equipos
bélicos y vehículos para realizar misiones, lanzado al mercado en el año 2005.
Un juego con buenos gráficos y una buena historia que lo hace favorito por muchos
gamers. Algo que destaca de este juego, es que está completamente desarrollado con
Python, desde el motor de juego hasta parte de las animaciones.
Lo que le da movilidad y funcionalidad a cada parte del juego está centrado en código
base con Python.
UNIVERSIDAD NACIONAL DEL CALLAO
FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA
ESCUELA PROFESIONAL DE INGENIERÍA ELÉCTRICA

BitTorrent
BitTorrent es una plataforma de soporte y protocolo que permite compartir y descargar
con mayor rapidez y sobre todo seguridad archivos de gran tamaño.
BitTorrent es más conocido como un “protocolo de intercambio” y goza de mucha
popularidad en distintos tipos de círculos de información. Permite además guardar la
información que se está descargando sin temor a perderla. Al pausar la descarga no se
pierden los datos, como usualmente sucede cuando se realizan descargas con el
navegador.
¿Qué tiene de especial BitTorrent?
UNIVERSIDAD NACIONAL DEL CALLAO
FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA
ESCUELA PROFESIONAL DE INGENIERÍA ELÉCTRICA

BitTorrent ha sido completamente creado y diseñado con Python.


Esto desde el 2001 cuando se lanzó por primera vez, sin embargo, luego de varias
versiones y unos cuantos años, se dieron a lugar algunas reestructuraciones, pero
mantiene su esencia y es un testimonio de lo eficiente y poderoso que es Python para el
desarrollo de grandes proyectos.

Ubuntu Software Center


El centro de software de Ubuntu es un sistema de paquetes gráficos del sistema
operativo Ubuntu, la cual se encarga de administrar, instalar, reemplazar o eliminar
aplicaciones.
Dicho sistema está desarrollado completamente en Python, lo cual hace del mismo un
sitio bastante estable y de fácil manejo para el usuario.

Google App Engine


Google App Engine es uno de los servicios de desarrollo web más populares e
importantes en el mercado de la programación actual. Permite la creación de
aplicaciones web y móviles, conectándose con servicios en la nube como Google Cloud
y teniendo resultados bastante eficientes y profesionales.
Basa parte de su código en el lenguaje de la serpiente, pero algo destacable, entre una de
las opciones más populares que tiene para el desarrollo está Python, permitiendo el uso
de frameworks para la construcción de sitios escalables y de alto volumen de tráfico.
UNIVERSIDAD NACIONAL DEL CALLAO
FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA
ESCUELA PROFESIONAL DE INGENIERÍA ELÉCTRICA

LA NASA
La Administración Nacional de Aeronáutica y del Espacio utiliza Python en gran
cantidad de aplicaciones que ejecuta en el desarrollo de sus proyectos.
Entre ellas destaca un repositorio para almacenar datos de diseño asistido por
computadora enfocados en matemáticas avanzada, que es usada en los viajes espaciales.
Así también posee un sistema de gestión, integración y transformación, que según la
NASA será base fundamental para la asistencia en el ámbito de la ingeniería en los
próximos años.
La NASA también utilizó Python en el desarrollo de OpenMDAO, herramienta para
resolver problemas de optimización de diseños multidisciplinarios y es un claro ejemplo
de que con Python, las estrellas son el límite.

Principales usos de Python


Desde hace algunos años, Python es la palabra de moda en el vocabulario de cualquier
programador, pero ¿por qué? Para poder responder a esta pregunta, empecemos por el
principio, Python es un lenguaje de programación de código abierto, orientado a
objetos, muy simple y fácil de entender. Tiene una sintaxis sencilla que cuenta con una
vasta biblioteca de herramientas, que hacen de Python un lenguaje de programación
único.
UNIVERSIDAD NACIONAL DEL CALLAO
FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA
ESCUELA PROFESIONAL DE INGENIERÍA ELÉCTRICA

Una de las ventajas principales de aprender Python es la posibilidad de crear un código


con gran legibilidad, que ahorra tiempo y recursos, lo que facilita su comprensión e
implementación.
Estos factores y otros que veremos más adelante, han hecho que Python se convierta en
uno de los idiomas de programación más utilizados. Desde aplicaciones web hasta la
inteligencia artificial, los usos de Python son infinitos. Estas son las principales
industrias que usan este lenguaje de programación:

1.- Python en la inteligencia artificial


Python es un lenguaje de escritura rápido, escalable, robusta y de código abierto,
ventajas que hacen de Python un aliado perfecto para la Inteligencia Artificial.
Permite plasmar ideas complejas con unas pocas líneas de código, lo que no es posible
con otros lenguajes.
Existen bibliotecas como «Keras» y «TensorFlow”, que contienen mucha información
sobre las funcionalidades del aprendizaje automático.
Además, existen bibliotecas proporcionadas por Python, que se usan mucho en los
algoritmos AI como Scikitl, una biblioteca gratuita de aprendizaje automático que
presenta varios algoritmos de regresión, clasificación y agrupamiento.
Pero, sobre todo, Python es un lenguaje gratuito de código abierto con una gran
comunidad en activo, que proporciona soporte a cualquier programador. Todas estas
razones combinadas, hacen que aprender Python sea una opción fácil sobre otros
lenguajes para aplicaciones de inteligencia artificial.

2.- Python en Big Data


UNIVERSIDAD NACIONAL DEL CALLAO
FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA
ESCUELA PROFESIONAL DE INGENIERÍA ELÉCTRICA

El uso de Python está muy extendido en el análisis datos y la extracción de información


útil para empresas.
Además de su simplicidad, que es una gran ventaja, Python cuenta con bibliotecas de
procesamiento de datos como ‘Pydoop’, que son de gran ayuda para los profesionales,
ya que puede escribir un código de MapReduce en Python y procesar los datos en el
clúster HDFS.
Otras bibliotecas como «Dask» y «Pyspark» facilitan aún más el análisis y la gestión de
datos. Python es rápido y fácilmente escalable, características que le ayudan a generar
información en entornos de tiempo real y a convertir esa información a los lenguajes
usados en Big Data.

3.- Python en Data Science


Desde la introducción de los motores numéricos de Python como ‘Pandas’ y ‘NumPy’,
los investigadores han cambiado a Python desde el anterior lenguaje, MATLAB. Python
se ocupa de los datos tabulares, matriciales y estadísticos, e incluso los visualiza con
bibliotecas populares como «Matplotlib» y «Seaborn».

4.- Python en Framework’ s de Pruebas


El testing es otra de las actividades que se ha cambiado a Python.
Python es ideal para validar ideas o productos, ya que tiene muchos frameworks
integrados que ayudan a depurar el código y ofrecen flujos de trabajo y ejecución
rápidos.
Herramientas de testing como ‘Unittest’, ‘Pytest’ y ‘Nose test’ hacen que las pruebas
sean más fáciles. Python, además, admite pruebas entre plataformas y navegadores con
diferentes marcos, como «PyTest» y «Robot».
El testing, que suele ser una de las tareas más arduas, se convierte en algo mucho más
simple y rápido.

5.- Python en Desarrollo Web


Python permite construir mucho más con menos líneas de código, por lo que se crean
prototipos de forma más eficiente.
UNIVERSIDAD NACIONAL DEL CALLAO
FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA
ESCUELA PROFESIONAL DE INGENIERÍA ELÉCTRICA

El framework Django, proporcionado por Python, es una ventaja para todos los
desarrolladores, ya que puede usarse para crear aplicaciones web dinámicas y muy
seguras.
El lenguaje Python también se usa para hacer scraping, es decir, obtener información de
otros sitios web. Aplicaciones como Instagram, Bit Bucket, Pinterest están construidas
en frameworks de este tipo.
Los usos y aplicaciones de Python se encuentran mucho más allá de los campos
mencionados, desde el desarrollo de juegos hasta la visualización de datos, desde la
creación de redes hasta el desarrollo de software en general. Las aplicaciones de Python
son numerosas.

VENTAJAS Y DESVENTAJAS
 VENTAJAS:
UNIVERSIDAD NACIONAL DEL CALLAO
FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA
ESCUELA PROFESIONAL DE INGENIERÍA ELÉCTRICA

Las principales ventajas de este lenguaje son las siguientes:

Comunidad:
Algo muy importante para el desarrollo de un
lenguaje es la comunidad, la misma comunidad de
Python cuida el lenguaje y casi todas las
actualizaciones se hacen de manera democrática.

Ordenado y limpio: El orden que mantiene Python, es de lo que más les gusta a sus
usuarios, es muy legible, cualquier otro programador lo puede leer y trabajar sobre
el programa escrito en Python. Los módulos están bien organizados, a diferencia de
otros lenguajes.

Estilo flexible: Ello se debe a que te aporta muchas herramientas para crear código
de manera flexible. Por ejemplo, si deseas tener listas para varios tipos de datos, no
es necesario que declares cada uno de estos (esto se hace para determinar la clase
del dato). Por otro lado, la sintaxis es comprensible y en algunas funciones se
asemejan a estructuras de otros lenguajes.

Simplificado y rápido: 
UNIVERSIDAD NACIONAL DEL CALLAO
FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA
ESCUELA PROFESIONAL DE INGENIERÍA ELÉCTRICA

Es muy simplificado ya que cuenta con varios patrones orientados a acciones.


Además, por ser un lenguaje interpretado su ejecución se hace de manera rápida
debido a que no necesita ser compilado. Con esto te ahorras un montón de tiempo
para programar y crear proyectos.

Fácil de aprender y fácil de usar: el lenguaje de programación Python tiene una


sintaxis similar al idioma inglés, lo que hace que sea extremadamente fácil y
sencillo para cualquiera leer y comprender sus códigos. Puede aprender este idioma
sin muchos problemas y aprenderlo fácilmente.

Esta es una de las razones por las que Python es mejor en comparación con otros
lenguajes de programación como C, C ++ o Java. Además, Python requiere
relativamente menos números de líneas de código para realizar las mismas
operaciones y tareas realizadas en otros lenguajes de programación con bloques de
código más grandes.

Mejora la productividad: otro de los beneficios de Python es que es un lenguaje


extremadamente productivo y, debido a su simplicidad, los programadores de
Python pueden centrarse fácilmente en resolver problemas.

Lenguaje interpretado: Python, al ser un lenguaje interpretado, puede ejecutar el


código directamente, una línea después de la otra. Además, si hay algún error, en
lugar de continuar con una ejecución adicional, informa el error que se produjo.

Fuente abierta: Python tiene una licencia de código abierto y está disponible para
los usuarios de forma gratuita, lo que le permite distribuirla fácilmente. Con Python,
puede descargar cualquier código fuente y modificar y distribuir aún más su versión
del código en Python. Esta característica puede ser útil, especialmente cuando desee
UNIVERSIDAD NACIONAL DEL CALLAO
FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA
ESCUELA PROFESIONAL DE INGENIERÍA ELÉCTRICA

reutilizar el código y ahorrar tiempo para crear aplicaciones innovadoras. Además,


puede cambiar su comportamiento y usar la versión anterior del código para el
desarrollo.

Fácilmente portátil: En la mayoría de los


lenguajes, incluidos los que aprendió a leer,
escribir y usar, como C, C ++, etc., debe
realizar cambios en el código para ejecutar
un programa determinado en distintas
plataformas. Sin embargo, ese no es el caso
con la programación Python. En Python,
debe escribir el código solo una vez, y puede ejecutarlo en cualquier plataforma,
adaptando la función «escribir una vez, ejecutar en cualquier lugar». Sin embargo,
debe asegurarse de no incluir ninguna función que dependa del sistema.

Bibliotecas masivas: La biblioteca estándar


de Python es amplia, y aquí, puede encontrar
todas las funciones necesarias que necesita
para cualquier tarea. Esto hace que Python sea
independiente de las bibliotecas externas.
Aunque, si desea utilizar algunas bibliotecas
externas, con la gestión de paquetes de Python
(pip), puede importar fácilmente varios
paquetes desde el índice de paquetes de
Python (PyPi), que contiene más de 200,000
paquetes.

Fácil de integrar con otros lenguajes de programación: Python tiene otra


característica única que le permite integrarse no solo con bibliotecas, como Jython y
Cython, sino también con otros lenguajes de programación, incluidos Java, C y C +
+ para el desarrollo multiplataforma. Por lo tanto, Python es comparativamente más
poderoso. Ningún lenguaje de programación está completo, y generalmente no es
aconsejable usar un lenguaje para todas las aplicaciones y desarrollos. Además,
similar a cualquier otro idioma, el fuerte de Python es proporcionarle una biblioteca
masiva para que pueda disfrutar de características potentes y potentes de otros
idiomas también.

 DESVENTAJAS:
Aunque cuenta con numerosas ventajas, es importante que
conozcas sus desventajas:
UNIVERSIDAD NACIONAL DEL CALLAO
FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA
ESCUELA PROFESIONAL DE INGENIERÍA ELÉCTRICA

Problemas con hosting: existen muchos servidores que no soportan Python y en


caso de hacerlo, su configuración suele ser compleja.

Librerías incorporadas: a pesar de incluir un compendio de librerías populares (por


ejemplo: kivy, requests, scapy, entre otras), algunas de esas no son necesarias o se
usan muy poco.

No dispone de buena documentación: Python no cuenta con buena documentación,


por lo que se puede tener problemas para comprender algunas librerías y ciertas
estructuras. Todo ello comparado con otros lenguajes de programación como Java,
PHP o C++.
Curva de aprendizaje: aunque el lenguaje es comprensible, para el desarrollo web
puede tomar algo de tiempo aprenderlo, sobre todo si no se tiene ninguna idea sobre
programación orientada a objetos.

No tiene identificadores protegidos: a diferencia de otros tipos de lenguajes como


PHP, Python no cuenta con identificadores protegidos, por lo que los métodos
empleados son públicos.
UNIVERSIDAD NACIONAL DEL CALLAO
FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA
ESCUELA PROFESIONAL DE INGENIERÍA ELÉCTRICA

Simulaciones: para simulaciones físicas el lenguaje Python puede resultar complejo,


ya que no trabaja con matrices por defecto, tal como ocurre con otros lenguajes como
Matlab. En definitiva, este lenguaje es útil siempre que no se dependa de una matriz
o se tenga que trabajar con un vector complejo, ya que de lo contrario se debe
importar bibliotecas.

CONCLUSIONES

 La sintaxis favorece a un código legible.


 Python es un lenguaje interpretado y cuyo sistema de tipo es fuertemente tipado
y dinámico.
 Python es un lenguaje de alto nivel, porque la idea es abstraer y esconder la
mayor cantidad de detalles de la implementación.
 Python es un lenguaje que hace hincapié en la legibilidad ósea busca facilitar a
los programadores la lectura del código.
 Python está en movimiento y en pleno desarrollo, pero ya es una realidad y una
interesante opción para realizar todo tipo de programas que se ejecuten en
cualquier máquina. El equipo de desarrollo está trabajando de manera cada vez
más organizada y cuentan con el apoyo de una comunidad que está creciendo
rápidamente.
 Algunas empresas que utilizan Python son Yahoo, Google, Walt Disney, la
NASA, Red Hat, etc.
 La tendencia del mercado laboral muestra que la demanda de profesionales de
Python crece exponencialmente cada año. Una prueba de ello es el informe de la
web Stackoverflow, web de referencia para desarrolladores de todo el mundo,
con más de 40 millones de usuarios mensuales, que ha presentado la evolución
del volumen de búsquedas por tipo de lenguaje, y que muestra que, claramente,
Python está a la cabeza.
RFERENCIAS
 https://aprendeia.com/librerias-de-visualizacion-de-datos-con-python/
UNIVERSIDAD NACIONAL DEL CALLAO
FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA
ESCUELA PROFESIONAL DE INGENIERÍA ELÉCTRICA

 https://www.google.com/search?
q=plotly+visualizacion+de+datos+python&source=lnms&tbm=isch&sa=X&ved
=2ahUKEwi6w_yWgrHtAhXzH7kGHSSjAtEQ_AUoAXoECAcQAw&biw=13
66&bih=657#imgrc=guMMyHAtmiBlJM
 https://www.iartificial.net/librerias-de-python-para-machine-
learning/#:~:text=NumPy%2C%20SciPy%20y%20Pandas%20son,estas
%20librer%C3%ADas%20en%20estos%20casos.
 https://bigdatamagazine.es/estas-son-algunas-de-las-librerias-de-python-que-
necesitas-conocer
 https://recluit.com/historia-de-un-joven-lenguaje-de-programacion-
python/#.X78xHs1KjIU
 https://platzi.com/blog/historia-python/
 https://es.wikipedia.org/wiki/Guido_van_Rossum#Python
 https://es.wikipedia.org/wiki/Historia_de_Python#Versi%C3%B3n_1.0
 https://www.tokioschool.com/noticias/historia-python/
 https://es.wikibooks.org/wiki/Python/Generalidades/Breve_historia_de_Python
 https://www.mclibre.org/consultar/python/otros/historia.html
 https://www.ecured.cu/Lenguaje_de_programaci%C3%B3n_ABC
 https://www.stackscale.com/es/blog/top-10-lenguajes-programacion-2020/
 https://www.tiobe.com/tiobe-index/
 https://pypl.github.io/PYPL.html
 https://baetica.com/python-lenguaje-programacion/
 https://pythones.net/que-es-python-y-sus-caracteristicas/
 https://entrenamiento-python-
basico.readthedocs.io/es/latest/leccion5/funciones.html

También podría gustarte