Bienvenidos al Curso
Backend en Python.
Siga las siguientes indicaciones para que su experiencia sea provechosa:
1. Encuentre un espacio adecuado
2. Tome nota si es necesario para realizar las preguntas luego.
3. Interactúe en la Videoconferencia.
4. Tener una conexión por cable o quitar las conexiones adicionales
durante la videoconferencia.
5. Siempre este atento.
6. Pulse Clik en el Siguiente Enlace
Ing .Armando Ruiz Rebollar
Developer Señior & Certificado Profesional Python
Python Android API Developer
Developer Developer
Hola Actualmente soy Mentor de codiGo-Tecsup de los cursos que se refieren a BACK-END (PYTHON, DJANGO, NODEJS JWT ,SERVICIOS SEGURIDAD
FIREBASE ,MONGODB,MYSQL POSTGRESS etc.).SOLIDOS CONOCIMIENTOS EN CLOUD Servicios en la Nube. Tengo mas de 25 años en el AREA DE TI he
trabajado en empresas tales como COSAPI, INTERSEGURO , PROSEGUR ,S10 etc. Soy un apasionado a la Tecnología y a las buenas practicas, autodidacta
de nacimiento. Experiencia en Desarrollo Móvil , Experto en Metodologías Agiles Scrum. Educación Técnica / Universitaria en Perú y España.
Canal Linkelind Github
Presentación
Por Ing. Armando Ruiz Rebollar
Objetivo del Curso!
La idea del curso es involucrar a los estudiantes a aprender a dominar Python porque
es reconocido por emprendedores y gigantes tecnológicos, como Google, Facebook,
Dropbox e IBM. También se recomienda Python para los desarrolladores jóvenes con
ambiciones de avanzar laboralmente en las áreas de seguridad, redes e Internet de las
cosas.
Ing Armando Ruiz Rebollar 3
1 Introducción Python
Conoceremos un poco mas del mundo de PYTHON
2 Conceptos Básicos de Programación
Lo que debemos conocer antes de aprender un lenguaje de programación
Agenda de 3 Preparando en Entorno
Desarrollo de la aplicación web al 100%
4
Hoy Comienza tu Viaje en Python
Conoceremos un poco mas de PYTHON
5 Conociendo el Temario del Curso
Detallaremos el temario de los cursos ha llevar en el BOOTCAMP
6 Rueda de Preguntas y Despedida
Hasta Pronto
Ing Armando Ruiz Rebollar 4
1
1.-INTRODUCCION A PYTHON
Que es PYTHON
Guido van Rossum
Python es un lenguaje de programación de alto nivel, interpretado, orientado a
objetos y de uso generalizado con semántica dinámica, que se utiliza para la
programación de propósito general.
Y aunque puede que conozcas a la pitón como una gran serpiente, el nombre del
lenguaje de programación Python proviene de una vieja serie de comedia de la
BBC llamada Monty Python's Flying Circus.
En el apogeo de su éxito, el equipo de Monty Python estaba realizando sus
escenas para audiencias en vivo en todo el mundo, incluso en el Hollywood Bowl.
Dado que Monty Python es considerado uno de los dos nutrientes fundamentales
para un programador (el otro es la pizza), el creador de Python nombró el
lenguaje en honor del programa de televisión. 6
Quien creo PYTHON?
Guido van Rossum
Una de las características sorprendentes de Python es el hecho de que en realidad es
el trabajo de una persona. Por lo general, los grandes lenguajes de programación son
desarrollados y publicados por grandes compañías que emplean a muchos
profesionales, y debido a las normas de derechos de autor, es muy difícil nombrar a
cualquiera de las personas involucradas en el proyecto. Python es una excepción.
No hay muchos idiomas cuyos autores son conocidos por su nombre. Python fue
creado por Guido van Rossum, nacido en 1956 en Haarlem, Países Bajos. Por supuesto,
Guido van Rossum no desarrolló y evolucionó todos los componentes de Python.
La velocidad con la que Python se ha extendido por todo el mundo es el resultado del
trabajo continuo de miles de (muy a menudo anónimos) programadores, evaluadores,
usuarios (muchos de ellos no son especialistas en TI) y entusiastas, pero hay que decir
7
que la primera idea (la semilla de la que brotó Python) llegó a una cabeza: la de Guido.
Los Objetivos de PYTHON
Objetivo 1 Objetivo 3
Un lenguaje fácil e intuitivo tan poderoso como los de De código abierto, para que cualquiera pueda
los principales competidores. contribuir a su desarrollo.
Objetivo 2 Objetivo 4
El código que es tan comprensible como el inglés Adecuado para tareas cotidianas, permitiendo
simple tiempos de desarrollo cortos
8
Que hace de especial a PYTHON
El tiempo necesario para aprender Python es más corto que en muchos otros
Es Facil de Aprender lenguajes; esto significa que es posible comenzar la programación real más rápido.
La carga de trabajo de enseñanza es menor que la que necesitan otros lenguajes; esto
Es Facil de Enseñar significa que el profesor puede poner más énfasis en las técnicas de programación
generales (independientes del lenguaje), no gastando energía en trucos exóticos, extrañas
excepciones y reglas incomprensibles.
Para escribir software nuevo; a menudo es posible escribir código más rápido cuando
Es Facil de Utilizar se usa Python..
A menudo, también es más fácil entender el código de otra persona más rápido si
Es Facil de Entender está escrito en Python.
Python es gratuito, abierto y multiplataforma; No todos los lenguajes pueden
Es Facil para la Industria presumir de eso..
9
Python 3 Python 2
Es la versión más nueva (para ser precisos, la actual)
del lenguaje. Está atravesando su propio camino de Es una versión anterior del Python original.
evolución, creando sus propios estándares y hábitos.
Las Nuevas librerias de AI , y ciencia de datos Su desarrollo se ha estancado intencionalmente,
generalmente estan desarrolladas en esta aunque eso no significa que no haya
version. actualizaciones
Si se va a comenzar un nuevo proyecto de La ruta de desarrollo de Python 2 ya ha llegado a
Python, deberías usar Python 3, esta es la versión un callejón sin salida, pero Python 2 en sí todavía
de Python que se usará durante este curso. está muy vivo.
Hay Mas de un Python?
El primero es más tradicional, más conservador que Python 3, y se parece a algunos de los buenos lenguajes antiguos derivados del lenguaje de
programación C clásico.
En que industria puedo aplicar PYTHON:
11
Python es Escalable?
Especialista en Inteligenica
Artificial
03
Este perfil está caracterizado por habilidades específicas como el conocimiento de
Machine Learning o Data Science, así como Python, Inteligencia Artificial, Visión por
ordenador, R, Git, Deep Learning,.
Cientifico de Datos
02
Los datos se han convertido en el principal activo de las organizaciones: sobre el
mercado, sobre clientes, sobre sus operaciones y transacciones... La óptima gestión de
estos datos requiere de un perfil, el científico de datos, capaz de explorar qué problemas
requieren solución y con las habilidades técnicas precisas para resolver problemas
Developer PYTHON complejos.
01
Perfil como Desarrollador de aplicaciones
capaz de automatizar procesos a gran
escalabilidad.
12
Porque decide usar PYTHON para mis desarrollos?
Porque solo aprendiendo la sintaxis y semántica de Python puedo ser experto en todos estos tecnologías???
Aplicaciones en Consola Aplicaciones Escritorio Aplicaciones Web Servicios
INTERPRETE PYTHON TKINTER FLASK & DJANGO DJANGO REST FRAMEWORK
Aplicaciones con extensión .PY Framework para el desarrollo de Framework’s para el desarrollo Framework que nos permiten el
que se ejecutan en cualquier Aplicaciones GUI tipo ventanas de aplicaciones web que intercambio de datos en formato
equipo no importando el S.O no de Windows muy similar a las funcionan en cualquier equipo o XML o JSON
trabaja en entorno grafico de .NET , JAVA , VFP , PB . Tipo dispositivo con conexión a
Cliente -Servidor internet .
Ing Armando Ruiz Rebollar 13
Porque decide usar PYTHON para mis desarrollos?
Porque solo aprendiendo la sintaxis y semántica de Python puedo ser experto en todos estos tecnologías???
Aplicaciones Móviles Machine Learning Ciencia de Datos Scraping
KIVY Keras & TensorFlow Numpy Pandas SCRAPY
Framework de Python de código Librerías capaces de realizar el Librerías para el análisis datos De Librería que usan técnicas que sirve
abierto para el desarrollo rápido aprendizaje autónomo por medio diferentes orígenes de datos , para extraer información de páginas
de aplicaciones. de datos y mas datos ,como que nos permitirán visualizar y web de forma automatizada. Si
reconocimiento facial de Facee , graficar datos para la toma de traducimos del inglés su significado
Reconocimiento de voz de decisiones en tiempo real . vendría a significar algo así como
Google o un Chatbox para un “escarbar una web”..
sitio web , o prevenir alguna
enfermedad Ing Armando Ruiz Rebollar 14
Que empresas conocidas usan PYTHON?
Fue difícil escoger solo 5 , LAS CONOCES????
FACEEBOOK NETFLIX SPOTIFY DROPBOX INSTAGRAM
Según una publicación de 2020 de Facebook, Python es actualmente responsable de múltiples servicios en gestión de infraestructura. Estos incluyen el uso de
TORconfig para manejar la configuración e imágenes del conmutador de red. Netflix utiliza Python para automatizar tareas, para explorar datos . A Spotify le encanta
lo rápido que es el proceso de desarrollo cuando escribe y codifica en Python. Las actualizaciones más recientes de la arquitectura de Spotify han sido todas usando
gevent, que proporciona un bucle rápido de eventos con una API síncrona de alto nivel .¿Tú también te alojas en la nube? Has de saber que 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. ¿Sabías que Python está
detrás de las fotos que compartes en tu Instagram? Y es que 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.
15
Características de Python?
Menciono acá las mas importantes
Multiplataforma Multiparadigma Código Abierto
El código que realiza se puede ejecutar Trabaja desde la Programación Existen Miles de repositorios donde
tanto en Windows como en MAC. Secuencial , Lineal , POO. encontramos gran cantidad de código
para descargar y utilizar en nuestros
programas con costo cero.
Excelente Librería Interpretado Fácil de Aprender
Python cuenta con una excelente Al momento de escribir el código en Por todas las características
comunidad active que nos proporciona PYTHON no es necesario por ejemplo mencionadas anteriormente nos lleva a
librería fácil de instalar y que nos la declaración de variables o los miles una curva de aprendizaje muy rápida
facilita el Desarrollo de nuestros tipos de datos que pueden haber en de entender, aprender y aplicar..
programas convirtiendo miles líneas de otros lenguajes como Java o Net .el
código a escasas. valor que le asignas a una variable en
PYTHON de ese tipo la interpreta hasta
el fin de su alcance.
Ing Armando Ruiz Rebollar 16
Evolución de los Lenguajes
de Programación: Stack
Overflow(2011-2019)
Que levante la mano aquel que no haya recurrido a
Stack Overflow para resolver algún problema en sus
proyectos de software. Creo poder asegurar que no
existe en la actualidad ningún desarrollador de
software que en algún momento no usara los foros
de Stack Overflow..
Lo interesante es que gracias a las consultas
generadas podemos ver una interesante gráfica
que nos muestra la demanda de cada uno de ellos.
Ing Armando Ruiz Rebollar 17
2
2.-Conceptos Básicos de
Programación
Algunos conceptos Importantes para empezar
Software
El software es la parte lógica del computador llámense programas , lenguajes o procedimientos , los programas o código
fuente son preparados generalmente por programadores con conocimiento en algún lenguaje de programación
Programa Fuente
Es una serie de instrucciones lógicas que se le da al computador para que cumpla un propósito por ejemplo hacer un
factura electrónica , realizar una venta por internet o simplemente imprimir un ticket de venta , este programa fuente
gracias a un compilador se puede traducir a objeto y es que generalmente se distribuye para su uso.
Programa Objeto
Es un programa fuente que es traducido a lenguaje de maquina por un compilador . para que el computador lo pueda
entender.
19
Algunos conceptos Importantes para empezar
Algoritmo
Es un conjunto de instrucciones o reglas definidas que permiten solucionar un problema
Lenguaje de Programación
Es un lenguaje formal con reglas gramaticales bien definidas que se le proporciona al programador para solucionar un
programa por computadora. están formados por un conjunto de símbolos llamado alfabeto , reglas
gramaticales(léxico/morfológicas) y sintácticas) y semánticas que en conjunto definen las estructuras validas del lenguaje
y su significado.
Traductores
En un lenguaje de alto nivel existe dos tipos de traductores que permiten convertir mi programa a objeto.
Compilador.-Son traductores que convierten un programa fuente a objeto , además el compilador espera hasta
terminar la compilación de todo el programa para generar un informe de errores.
Interprete.-traduce instrucciones de alto nivel y lo ejecuta directamente. detecta si el programa tiene errores y
permite su corrección durante el proceso de ejecución
20
Algunos conceptos Importantes para empezar
21
Algunos conceptos Importantes para empezar
Que hace realmente el interprete?
Una vez que terminaste de escribir el código de tu programa ahora tienes que invocar al intérprete y dejar que lea el archivo
fuente. El intérprete lee el código fuente de una manera que es común en la cultura occidental: de arriba hacía abajo y de
izquierda a derecha. Hay algunas excepciones: se cubrirán más adelante en el curso. En primer lugar, el intérprete verifica si
todas las líneas subsiguientes son correctas Si el compilador encuentra un error, termina su trabajo inmediatamente. El único
resultado en este caso es un mensaje de error. El intérprete le informará dónde se encuentra el error y qué lo causó
Lenguaje de Alto Nivel
Un Lenguaje de alto nivel se caracteriza por una gestión automática de todas las tareas de bajo nivel . Una de sus ventajas es la
de expresar su contenido en un lenguaje muy parecido al natural .en vez de estar tratando con registros, pilas o direcciones de
memoria como lo hace el de bajo nivel, este se encarga de comprenderlos como variables ,bucles ,arreglos operadores
matemáticos y lógicos etc. Esto nos permite generar un código mas sencillo y comprensible y nos permite utilizar paradigmas
de programación. Una instrucción de un lenguaje de alto nivel es traducida a lenguaje de maquina por medio de compiladores.
Lenguaje de Bajo Nivel
Un Lenguaje de bajo nivel permite programar algoritmos mas o menos complejos así como utilizar hardware especifico y
armonizado (de una arquitectura de hardware a otra y de un sistema operativo a otro) realizando una abstracción de las
llamadas de sistema y del sistema de archivos. Este tipo de lenguaje puede utilizar un ensamblador para traducirlo a
lenguajes de maquinas y cuanto mas compiladores existan para las distintas arquitecturas , mejor detectara el hardware y
utilizarlas especificidades del juego de instrucciones del procesador y mas portable será. El desarrollo de bajo nivel
requiere no obstante una gestión de los recursos en particular de la memoria
22
Algunos conceptos Importantes para empezar
Semántica
Se puede decir que es el conjunto de reglas que se refiere al significado que tiene una sentencia , instrucción o elemento
lingüísticos en un lenguaje de programación .gracias a la semántica podemos descubrir el significado de la construcción
que realiza dicho lenguaje.
Gramática
Nos ayuda a definir la sintaxis que tendrá un lenguaje de alto nivel esta compuesto por un conjunto de palabras y
relaciones llamadas reglas de producción ,se puede decir también que es una herramienta propia de las matemáticas
discretas
Sintaxis
Para el programador le indica la forma que se describen las instrucciones y debe asegurarse que un
extracto del código tenga un único significado. Son las reglas del lenguaje y deben ser obedecidos.
23
Enunciado
Una persona es apta para prestar el servicio militar obligatorio cuando: es mayor de 18 años, menor de 25
años, y género masculino. Realizar un algoritmo que permita determinar si una persona es apta o no para
prestar el servicio militar
24
Algunos conceptos Importantes para empezar
Tipos de Tipado
Se debe entender por tipado a la definición que tendrá una variable al momento de utilizarla dentro de su programa
podemos definirla nosotros o que el mismo programa lo haga durante su proceso común.
Débil vs Fuerte
La diferencia que existe entre un tipado débil vs fuerte es que el tipado débil no da importancia mas que al contenido ,
mientras que el tipado fuerte da importancia al contenido que al tipo . Por ejemplo PHP es u lenguaje con tipado débil
porque al momento de comparar 1 con “1” son iguales para el , pero PYTHON es en un lenguaje fuertemente tipado
siempre serán diferentes esa comparación
Estático vs Dinámico
El tipado estático obliga a declarar en los programas el tipo de variables o atributos de la clase así como
su identificador , el tipado dinámico es mas flexible en ese aspecto por ejemplo cambiar en tiempo de
ejecución el tipo de una variable , o simplemente dejar que la variable tome el tipo de dato que es según
el valor que se le asigna. Python es un lenguaje dinámicamente tipado..
25
3
3.-PREPARANDO EL ENTORNO
4
4.-Comienza tu viaje en PYTHON
5
5.-Temario del Curso
Gracias por Verme!!!!
Alguna Pregunta?
facebook.com/armando.r.rebollar www.linkedin.com/in/armandoruizrebollar armando.eu.ruiz@gmail.com
Contáctame!
CodiGo-Tecsup
armando.eu.ruiz@gmail.com facebook.com/armando.r.rebollar
www.linkedin.com/in/armandoruizrebollar +51 934-995611
Bibliografía Ing Armando Ruiz Rebollar 34