SlideShare ist ein Scribd-Unternehmen logo
1 von 25
Python
Indice 
1. Técnicas de enseñanza de la programación en Ingenieria. 
2. Que es python? Cuando nace? Y donde se usa hoy? 
2. Como comparamos distintos lenguajes de programación? 
3. OK. Ahora veamos que nos ofrece Python…. 
4. El Paradigma de Programación Orientada a Objetos y la filosofía 
de python 
5. Estructuras basicas en Python, comparadas con C++. 
6. Estructuras complejas… 
7. OpenSource la gran ventaja , y su licencia PSFL. 
8. Gran cantidad de Modulos y paquetes. 
9. No me creen?? Estadisticas, y el principal usuario del lenguaje. 
10. Links recomendados, para ponerse en marcha. 
11. Dudas, consultas, quejas??
Técnicas de enseñanza: Modelo clásico 
PIC16F84 
C, C++ 
Arquitectura de 
PC, Registros 
Ensamblador
Técnicas de enseñanza: Modelo clásico 
VENTAJAS: 
1. Sigue el orden lógico de aprendizaje (desde el punto de vista del hardware) 
DESVENTAJAS: 
1. Se ata el conocimiento a una estructura de microcontrolador en particular 
2. Se pierde mucho tiempo tratando de interpretar el funcionamiento de una familia 
De microcontrolador en particular (16F84) 
3. Se pierde mucho tiempo tratando de interpretar el trabajo en ensamblador 
4. Se llega tarde a la etapa en C, C++. 
5. Se pierde mucho tiempo intentando aprender C, C++. 
6. No se llega al vinculo software- hardware entre microcontrolador y PC. 
7. El conocimiento adquirido es valido casi exclusivamente para «familias» 
O marcas de micro controladores particulares.
Técnicas de enseñanza: Modelo Actual 
Linux, Windows 
Arduino 
Arquitectura 
hardware de PC, 
Registros 
Arquitectura de 
software de un 
Sistema Operativo 
(PC) 
C,C++ 
Python 
Reseñas de 
Ensamblador 
Proyecto o trabajo 
de vinculación
Técnicas de enseñanza: Modelo Actual 
VENTAJAS: 
1. Sigue el orden lógico de aprendizaje, para software y para el hardware 
2. Se conoce rápidamente C,C++ , lenguaje base de todos casi todos los lenguajes 
De programación. 
3. Se aprende a trabajar con la PC, algo básico para después manejar software 
Especifico de mayor complejidad (matlab, python, Proteus, Orcad, VHDL, etc.) 
4. No se ata el conocimiento a un proveedor de hardware o ‘marca’, y se prioriza 
La comprensión de los PARADIGMAS y FILOSOFIAS de programación, en vez de una 
‘marca’ de hardware. 
5. Conociendo C, C++ es extremadamente sencillo iniciar en python. 
6. Se cierra el circuito de aprendizaje vinculando un desarrollo de software 
(PC + python), con un desarrollo de hardware (Arduino + C). 
7. Este proceso aporta al estudiante una herramienta de trabajo con formato general. 
DESVENTAJAS: 
1. No se puede omitir ningún paso en el proceso de enseñanza. 
2. Se necesita de personal que conozca cada área en particular. 
3. Requiere de bastante practica, se aprende haciendo
Que es python? Cuando nace? 
Y donde se usa hoy? 
Python fue creado a finales de los ochenta por Guido van 
Rossum (foto) en Holanda. 
Van Rossum es el principal autor de Python, y continua con su 
rol central en decidir la dirección de Python. 
•Primera aparicion de Python : 1991. 
•Influido por Perl, Java, Lisp. 
•Influyo en Ruby, JavaScript, Cython. 
•Multiplataforma 
•OpenSource 
•Version Actual: 3.3.1 / 2.7.4 . 
Python se uso en la Tesis doctoral que creo Google. Debido a eso ha tenido un fuerte 
vinculo con la empresa. Python se hizo masivo en el año 2008, cuando fue el primer 
leguaje soportado por la Google App Engine. 
Actualmente python es parte fundamental de: Google, DreamWorks, Pixar, Disney, la 
NASA el CERN y el caso de éxito mas importante: toda la plataforma de YOUTUBE.
Como comparamos distintos lenguajes 
de programación? 
Con todos los lenguajes se puede hacer todo, pero formalmente, algunos tienen mas 
“facilidad y velocidad” para algunas “tareas o filosofias” de trabajo. 
Para comparar lenguajes se los clasifican segun: 
1. Nivel de abstraccion (alto o bajo nivel). 
2. Forma de ejecucion (compilada o intepretada). 
3. Según el paradigma de programacion ( procedual,POO, funcional, Logica). 
3.1- Procedual: C, BASIC. Python 
3.2- POO: C++. Python 
3.3- Funcional: Matlab, LISP, FORTRAN. Python 
3.4- Logica: PROLOG. Python 
3.5- Multi-Paradigma: C#, JAVA, Python,VB. 
4. Según la Filosofia del lenguaje: 
Ruby: Prioriza pocas lineas de codigo, y el principio de la menor sorpresa. 
Python: Prioriza la Legibilidad, la transparencia y la sencillez.
El paradigma Programación Orientada 
a Objetos (POO) 
• Cambia el concepto de DATO pasivo a OBJETO ACTIVO. 
• No hay DIMENSIONES , hay OBJETOS con METODOS y ATRIBUTOS. 
• Un objeto suele confundirse con una librería o importar un archivo, esto es 
falso. Una librería puede incluir varias clases u objetos internos. 
• Las clases son consecuencia de la evolución de los tipos de datos.
El paradigma Programación Orientada 
a Objetos (POO) 
Datos simples 
x= 5 
y = 2.3 
Agrupación de 
Datos simples 
del mismo tipo 
(arrays, strings) 
x= [5,2,4,6] 
Y=‘buen dia’ 
Agrupación de Datos de 
distinto tipo 
(struct, union) 
x= [5, 0.3, ’hola’, 0xFF] 
Agrupación de Datos y 
funciones, de distintos 
tipos 
? 
1950, ensamblador 
1960,FORTRAN,COBOL 
1980,C, BASIC 
1985,C++ 
~2000 Python, C#, JAVA
El paradigma Programación Orientada 
a Objetos (POO) 
Video Rápido, que explica 
POO en Python, clic aquí
OK. Ahora veamos que nos ofrece Python…. 
Python permite trabajar de todas las maneras vistas antes (y tiene tipado dinámico  ) 
•Procedual y POO: 
•Funcional: 
•Logica:
Estructuras básicas en Python, 
comparadas con C++. 
.Tipado de variables: 
C,C++,etc. Python
Estructuras básicas en Python, 
comparadas con C++. 
.Bucles(for, if-elif-else, while): 
C,C++,etc. Python
Estructuras complejas… 
.Clases : 
C,C++,etc. Python
Estructuras complejas… 
.Excepciones: 
C,C++,etc. Python
Estructuras en Python, 
comparadas con C++. 
Conclusiones generales: 
• Python corre entre entre 3 y 5 veces mas lento que C++, pero lleva entre 5 y 10 veces 
menos tiempo de desarrollo. Es decir 1 año de C++ == 2 meses de python 
• En python maneja errores como un juguete, en C++ como un guru. 
• C++ es la base de cualquier lenguaje de programación actual, Python no. 
• Un problema en cualquier lenguaje se puede resolver con su equivalente en C++, no en 
python. 
• Python esta altamente orientado al prototipo y resultados rapidos, C++ esta orientado a 
algo concreto y de producción. 
• Python NO TIENE PUNTEROS, en ves de eso usa variables mutables (pasan por 
referencia), como ser listas,diccionarios y objetos de usuario. Y variables inmutables 
(paso por valor), como son los int, float y tuplas.
OpenSource la gran ventaja , y su 
licencia PSFL. 
• No hay que pagarle a nadie para desarrollar en Python, como si ‘deberia ser’ con 
Visual, Matlab, JavaScript, 
• No existen las variables de tipo privado, aunque hay directivas para identificarlas como 
tal. 
• Python no respeta norma ANSI,ISO, ni nada (todavia), C++ si (ISO/IEC C++-2011). 
• Licencia PSFL, permite distribuir software como privado.
Gran cantidad de Modulos y paquetes. 
Python actualmente cuenta con +25000 paquetes. Cada paquete es un conjunto de 
Modulos. Cada Modulo es un conjunto de clases. Cada clase es un conjunto de Metodos 
y variables. 
Python tiene varias implementaciones, la principal y por defecto es Cpython. Pero 
existen otras (por las dudas): 
• IronPython -> implementacion en .NET 
• Stackless -> implementacion en Cpython que no usa el stack de C. 
• Jython -> implementacion en Java VM. 
• Pippy -> implementacion para PALM. 
• PyPy -> implementacion de Python en Python (?????) 
• Pyjamas -> implementacion en JavaScript 
• Shed Skin -> en C++ 
• PyS60 -> en symbian S60 de nokia. 
• Py4A -> ¿Quién adivina?
No me creen?? Estadisticas 
La web http://www.tiobe.com/, se encarga del benchmarck o comparacion de lenguajes 
de programacion en funcion del numero de webs sobre el tema (super-impreciso ), 
aquí algunos graficos para octubre 2013: 
Salon de la fama 
(python, unico en ganar 3 veces)
No me creen?? Estadísticas 
Según el Sr. trendy (HTML y XML no son lenguajes y no dice como obtiene los datos, dudoso):
No me creen?? Estadísticas 
PyPL-PopularitY-of-Programming-Language, es el mas neutral y certero de los 
estadistas en este tema, se basa en las busquedas de google sobre ‘tutoriales del 
lenguaje’, son ademas, datos de acceso publico (de google):
Links recomendados, para ponerse en 
marcha... 
Python Oficiales: 
• http://python.org/ 
• http://python.org.ar/ - comunidad de argentina 
• http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html- estadisticas del 
lenguaje (yo no le creo) 
• http://trendyskills.com/ - otro 
• https://sites.google.com/site/pydatalog/pypl/PyPL-PopularitY-of-Programming- 
Language - otro, el mas certero para mi. 
• http://www.pinguino.cc/ - version arduino con PIC, y Python 
• http://micropinguino.blogspot.com.ar/ -- la mejor web para pingüino y Python 
• https://code.google.com/p/pinguino32/ -- comunidad pinguino
Python y la POO, en una clase, UNNe-Corrientes
Python y la POO, en una clase, UNNe-Corrientes

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (15)

Tutorial de Python
Tutorial de PythonTutorial de Python
Tutorial de Python
 
Python para todos
Python para todosPython para todos
Python para todos
 
Unidad V Tutorial de Python
Unidad V Tutorial de PythonUnidad V Tutorial de Python
Unidad V Tutorial de Python
 
Introduccion a python 3
Introduccion a python 3Introduccion a python 3
Introduccion a python 3
 
Python para ingenieros como alternativa a matlab
Python para ingenieros como alternativa a matlabPython para ingenieros como alternativa a matlab
Python para ingenieros como alternativa a matlab
 
Programación de Videojuegos con Python y Pilas (I)
Programación de Videojuegos con Python y Pilas (I)Programación de Videojuegos con Python y Pilas (I)
Programación de Videojuegos con Python y Pilas (I)
 
Instalar Python 2.7 y 3 en Windows (Anaconda)
Instalar Python 2.7 y 3 en Windows (Anaconda)Instalar Python 2.7 y 3 en Windows (Anaconda)
Instalar Python 2.7 y 3 en Windows (Anaconda)
 
Instalación python
Instalación pythonInstalación python
Instalación python
 
Python básico II
Python básico IIPython básico II
Python básico II
 
Recetario de Látex
Recetario de LátexRecetario de Látex
Recetario de Látex
 
Programación de Videojuegos con Python y Pilas (II)
Programación de Videojuegos con Python y Pilas (II)Programación de Videojuegos con Python y Pilas (II)
Programación de Videojuegos con Python y Pilas (II)
 
Python 4
Python 4Python 4
Python 4
 
Programacion orientada a objetos python manuel casado martín - universidad ...
Programacion orientada a objetos python   manuel casado martín - universidad ...Programacion orientada a objetos python   manuel casado martín - universidad ...
Programacion orientada a objetos python manuel casado martín - universidad ...
 
Manual de python
Manual de pythonManual de python
Manual de python
 
Eventos intropython
Eventos intropythonEventos intropython
Eventos intropython
 

Ähnlich wie Python y la POO, en una clase, UNNe-Corrientes

Sesión 1: Python
Sesión 1: PythonSesión 1: Python
Sesión 1: Pythonmaluacsa
 
Unidad V Python e ingeniería civil en obras civiles PVB
Unidad V Python e ingeniería civil en obras civiles PVBUnidad V Python e ingeniería civil en obras civiles PVB
Unidad V Python e ingeniería civil en obras civiles PVBSistemadeEstudiosMed
 
Clase 2 - Introducción a la programación con Python I.pptx
Clase 2 - Introducción a la programación con Python I.pptxClase 2 - Introducción a la programación con Python I.pptx
Clase 2 - Introducción a la programación con Python I.pptxjgs07
 
Resumen python
Resumen pythonResumen python
Resumen pythonhedaro
 
Python - Lenguaje de programación para Ciencia de Datos
Python - Lenguaje de programación para Ciencia de DatosPython - Lenguaje de programación para Ciencia de Datos
Python - Lenguaje de programación para Ciencia de DatosRoman Herrera
 
Clase 1- Fundamentos de programacion en Phyton.pptx
Clase 1- Fundamentos de programacion en Phyton.pptxClase 1- Fundamentos de programacion en Phyton.pptx
Clase 1- Fundamentos de programacion en Phyton.pptxVeronica Freire
 
Parallel python sistemas operativos avanzados
Parallel python sistemas operativos avanzadosParallel python sistemas operativos avanzados
Parallel python sistemas operativos avanzadosDaniel Muccela
 
Lenguaje de programación Python
Lenguaje de programación PythonLenguaje de programación Python
Lenguaje de programación PythonKareliaRivas
 
Introducción a Python
Introducción a Python Introducción a Python
Introducción a Python Eddie Malca
 
Screencast aprende python - parte 1
Screencast   aprende python - parte 1Screencast   aprende python - parte 1
Screencast aprende python - parte 1Noe Nieto
 
Jupyter e IPython para manipulación de datos
Jupyter e IPython para manipulación de datosJupyter e IPython para manipulación de datos
Jupyter e IPython para manipulación de datosSoftware Guru
 
python-para-todos.pdf
python-para-todos.pdfpython-para-todos.pdf
python-para-todos.pdfJaviMartin21
 
Python para todos
Python para todosPython para todos
Python para todosErik Gur
 
python-para-todos.pdf
python-para-todos.pdfpython-para-todos.pdf
python-para-todos.pdfRafalJMalave
 

Ähnlich wie Python y la POO, en una clase, UNNe-Corrientes (20)

Sesión 1: Python
Sesión 1: PythonSesión 1: Python
Sesión 1: Python
 
Python power 1
Python power 1Python power 1
Python power 1
 
Unidad V Python e ingeniería civil en obras civiles PVB
Unidad V Python e ingeniería civil en obras civiles PVBUnidad V Python e ingeniería civil en obras civiles PVB
Unidad V Python e ingeniería civil en obras civiles PVB
 
Clase 2 - Introducción a la programación con Python I.pptx
Clase 2 - Introducción a la programación con Python I.pptxClase 2 - Introducción a la programación con Python I.pptx
Clase 2 - Introducción a la programación con Python I.pptx
 
Resumen python
Resumen pythonResumen python
Resumen python
 
Python - Lenguaje de programación para Ciencia de Datos
Python - Lenguaje de programación para Ciencia de DatosPython - Lenguaje de programación para Ciencia de Datos
Python - Lenguaje de programación para Ciencia de Datos
 
Clase 1- Fundamentos de programacion en Phyton.pptx
Clase 1- Fundamentos de programacion en Phyton.pptxClase 1- Fundamentos de programacion en Phyton.pptx
Clase 1- Fundamentos de programacion en Phyton.pptx
 
1 curso-de-python-introducci-n-a-python
1 curso-de-python-introducci-n-a-python1 curso-de-python-introducci-n-a-python
1 curso-de-python-introducci-n-a-python
 
Intro python
Intro pythonIntro python
Intro python
 
Intro python
Intro pythonIntro python
Intro python
 
Parallel python sistemas operativos avanzados
Parallel python sistemas operativos avanzadosParallel python sistemas operativos avanzados
Parallel python sistemas operativos avanzados
 
Lenguaje de programación Python
Lenguaje de programación PythonLenguaje de programación Python
Lenguaje de programación Python
 
Introducción a Python
Introducción a Python Introducción a Python
Introducción a Python
 
Screencast aprende python - parte 1
Screencast   aprende python - parte 1Screencast   aprende python - parte 1
Screencast aprende python - parte 1
 
Jupyter e IPython para manipulación de datos
Jupyter e IPython para manipulación de datosJupyter e IPython para manipulación de datos
Jupyter e IPython para manipulación de datos
 
Sesion8_Python.pptx
Sesion8_Python.pptxSesion8_Python.pptx
Sesion8_Python.pptx
 
python-para-todos.pdf
python-para-todos.pdfpython-para-todos.pdf
python-para-todos.pdf
 
Python para todos
Python para todosPython para todos
Python para todos
 
Python para Todos
Python para TodosPython para Todos
Python para Todos
 
python-para-todos.pdf
python-para-todos.pdfpython-para-todos.pdf
python-para-todos.pdf
 

Kürzlich hochgeladen

01 COSTOS UNITARIOS Y PRESUPUESTO DE OBRA-EXPEDIENTE TECNICO DE OBRA.pptx
01 COSTOS UNITARIOS Y PRESUPUESTO DE OBRA-EXPEDIENTE TECNICO DE OBRA.pptx01 COSTOS UNITARIOS Y PRESUPUESTO DE OBRA-EXPEDIENTE TECNICO DE OBRA.pptx
01 COSTOS UNITARIOS Y PRESUPUESTO DE OBRA-EXPEDIENTE TECNICO DE OBRA.pptxluiscisnerosayala23
 
Tema 7 Plantas Industriales (2).pptx ingenieria
Tema 7 Plantas Industriales (2).pptx ingenieriaTema 7 Plantas Industriales (2).pptx ingenieria
Tema 7 Plantas Industriales (2).pptx ingenieriaLissetteMorejonLeon
 
ESTUDIO TÉCNICO DEL PROYECTO DE CREACION DE SOFTWARE PARA MANTENIMIENTO
ESTUDIO TÉCNICO DEL PROYECTO DE CREACION DE SOFTWARE PARA MANTENIMIENTOESTUDIO TÉCNICO DEL PROYECTO DE CREACION DE SOFTWARE PARA MANTENIMIENTO
ESTUDIO TÉCNICO DEL PROYECTO DE CREACION DE SOFTWARE PARA MANTENIMIENTOCamiloSaavedra30
 
Procedimientos constructivos superestructura, columnas
Procedimientos constructivos superestructura, columnasProcedimientos constructivos superestructura, columnas
Procedimientos constructivos superestructura, columnasAhmedMontaoSnchez1
 
I LINEAMIENTOS Y CRITERIOS DE INFRAESTRUCTURA DE RIEGO.pptx
I LINEAMIENTOS Y CRITERIOS DE INFRAESTRUCTURA DE RIEGO.pptxI LINEAMIENTOS Y CRITERIOS DE INFRAESTRUCTURA DE RIEGO.pptx
I LINEAMIENTOS Y CRITERIOS DE INFRAESTRUCTURA DE RIEGO.pptxPATRICIAKARIMESTELAL
 
Trabajo en altura de acuerdo a la normativa peruana
Trabajo en altura de acuerdo a la normativa peruanaTrabajo en altura de acuerdo a la normativa peruana
Trabajo en altura de acuerdo a la normativa peruana5extraviado
 
INSTRUCTIVO_NNNNNNNNNNNNNNSART2 iess.pdf
INSTRUCTIVO_NNNNNNNNNNNNNNSART2 iess.pdfINSTRUCTIVO_NNNNNNNNNNNNNNSART2 iess.pdf
INSTRUCTIVO_NNNNNNNNNNNNNNSART2 iess.pdfautomatechcv
 
5. MATERIAL COMPLEMENTARIO - PPT de la Sesión 02.pptx
5. MATERIAL COMPLEMENTARIO - PPT  de la Sesión 02.pptx5. MATERIAL COMPLEMENTARIO - PPT  de la Sesión 02.pptx
5. MATERIAL COMPLEMENTARIO - PPT de la Sesión 02.pptxJOSLUISCALLATAENRIQU
 
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023ANDECE
 
CFRD simplified sequence for Mazar Hydroelectric Project
CFRD simplified sequence for Mazar Hydroelectric ProjectCFRD simplified sequence for Mazar Hydroelectric Project
CFRD simplified sequence for Mazar Hydroelectric ProjectCarlos Delgado
 
Proyecto de Base de Datos de César Guzmán
Proyecto de Base de Datos de César GuzmánProyecto de Base de Datos de César Guzmán
Proyecto de Base de Datos de César Guzmáncesarguzmansierra751
 
Ley 29783 ALCANCES E INTERPRETACION ----
Ley 29783 ALCANCES E INTERPRETACION ----Ley 29783 ALCANCES E INTERPRETACION ----
Ley 29783 ALCANCES E INTERPRETACION ----AdministracionSSTGru
 
CUENCAS HIDROGRAFICAS CARACTERIZACION GEOMORFOLOGIAS DE LA CUENTA
CUENCAS HIDROGRAFICAS CARACTERIZACION GEOMORFOLOGIAS DE LA CUENTACUENCAS HIDROGRAFICAS CARACTERIZACION GEOMORFOLOGIAS DE LA CUENTA
CUENCAS HIDROGRAFICAS CARACTERIZACION GEOMORFOLOGIAS DE LA CUENTAvanessaecharry2511
 
Revista estudiantil, trabajo final Materia ingeniería de Proyectos
Revista estudiantil, trabajo final Materia ingeniería de ProyectosRevista estudiantil, trabajo final Materia ingeniería de Proyectos
Revista estudiantil, trabajo final Materia ingeniería de ProyectosJeanCarlosLorenzo1
 
FORMACION-INTEGRAL-DE-LINIEROS modelo de curso.pdf
FORMACION-INTEGRAL-DE-LINIEROS modelo de curso.pdfFORMACION-INTEGRAL-DE-LINIEROS modelo de curso.pdf
FORMACION-INTEGRAL-DE-LINIEROS modelo de curso.pdfEfrain Yungan
 
Topografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la IngenieríasTopografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la IngenieríasSegundo Silva Maguiña
 
trabajos en altura 2024, sistemas de contencion anticaidas
trabajos en altura 2024, sistemas de contencion anticaidastrabajos en altura 2024, sistemas de contencion anticaidas
trabajos en altura 2024, sistemas de contencion anticaidasNelsonQuispeQuispitu
 
SEMANA 6 MEDIDAS DE TENDENCIA CENTRAL.pdf
SEMANA  6 MEDIDAS DE TENDENCIA CENTRAL.pdfSEMANA  6 MEDIDAS DE TENDENCIA CENTRAL.pdf
SEMANA 6 MEDIDAS DE TENDENCIA CENTRAL.pdffredyflores58
 
CONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdf
CONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdfCONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdf
CONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdfErikNivor
 

Kürzlich hochgeladen (20)

01 COSTOS UNITARIOS Y PRESUPUESTO DE OBRA-EXPEDIENTE TECNICO DE OBRA.pptx
01 COSTOS UNITARIOS Y PRESUPUESTO DE OBRA-EXPEDIENTE TECNICO DE OBRA.pptx01 COSTOS UNITARIOS Y PRESUPUESTO DE OBRA-EXPEDIENTE TECNICO DE OBRA.pptx
01 COSTOS UNITARIOS Y PRESUPUESTO DE OBRA-EXPEDIENTE TECNICO DE OBRA.pptx
 
Tema 7 Plantas Industriales (2).pptx ingenieria
Tema 7 Plantas Industriales (2).pptx ingenieriaTema 7 Plantas Industriales (2).pptx ingenieria
Tema 7 Plantas Industriales (2).pptx ingenieria
 
ESTUDIO TÉCNICO DEL PROYECTO DE CREACION DE SOFTWARE PARA MANTENIMIENTO
ESTUDIO TÉCNICO DEL PROYECTO DE CREACION DE SOFTWARE PARA MANTENIMIENTOESTUDIO TÉCNICO DEL PROYECTO DE CREACION DE SOFTWARE PARA MANTENIMIENTO
ESTUDIO TÉCNICO DEL PROYECTO DE CREACION DE SOFTWARE PARA MANTENIMIENTO
 
Procedimientos constructivos superestructura, columnas
Procedimientos constructivos superestructura, columnasProcedimientos constructivos superestructura, columnas
Procedimientos constructivos superestructura, columnas
 
I LINEAMIENTOS Y CRITERIOS DE INFRAESTRUCTURA DE RIEGO.pptx
I LINEAMIENTOS Y CRITERIOS DE INFRAESTRUCTURA DE RIEGO.pptxI LINEAMIENTOS Y CRITERIOS DE INFRAESTRUCTURA DE RIEGO.pptx
I LINEAMIENTOS Y CRITERIOS DE INFRAESTRUCTURA DE RIEGO.pptx
 
Trabajo en altura de acuerdo a la normativa peruana
Trabajo en altura de acuerdo a la normativa peruanaTrabajo en altura de acuerdo a la normativa peruana
Trabajo en altura de acuerdo a la normativa peruana
 
INSTRUCTIVO_NNNNNNNNNNNNNNSART2 iess.pdf
INSTRUCTIVO_NNNNNNNNNNNNNNSART2 iess.pdfINSTRUCTIVO_NNNNNNNNNNNNNNSART2 iess.pdf
INSTRUCTIVO_NNNNNNNNNNNNNNSART2 iess.pdf
 
5. MATERIAL COMPLEMENTARIO - PPT de la Sesión 02.pptx
5. MATERIAL COMPLEMENTARIO - PPT  de la Sesión 02.pptx5. MATERIAL COMPLEMENTARIO - PPT  de la Sesión 02.pptx
5. MATERIAL COMPLEMENTARIO - PPT de la Sesión 02.pptx
 
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
 
presentación manipulación manual de cargas sunafil
presentación manipulación manual de cargas sunafilpresentación manipulación manual de cargas sunafil
presentación manipulación manual de cargas sunafil
 
CFRD simplified sequence for Mazar Hydroelectric Project
CFRD simplified sequence for Mazar Hydroelectric ProjectCFRD simplified sequence for Mazar Hydroelectric Project
CFRD simplified sequence for Mazar Hydroelectric Project
 
Proyecto de Base de Datos de César Guzmán
Proyecto de Base de Datos de César GuzmánProyecto de Base de Datos de César Guzmán
Proyecto de Base de Datos de César Guzmán
 
Ley 29783 ALCANCES E INTERPRETACION ----
Ley 29783 ALCANCES E INTERPRETACION ----Ley 29783 ALCANCES E INTERPRETACION ----
Ley 29783 ALCANCES E INTERPRETACION ----
 
CUENCAS HIDROGRAFICAS CARACTERIZACION GEOMORFOLOGIAS DE LA CUENTA
CUENCAS HIDROGRAFICAS CARACTERIZACION GEOMORFOLOGIAS DE LA CUENTACUENCAS HIDROGRAFICAS CARACTERIZACION GEOMORFOLOGIAS DE LA CUENTA
CUENCAS HIDROGRAFICAS CARACTERIZACION GEOMORFOLOGIAS DE LA CUENTA
 
Revista estudiantil, trabajo final Materia ingeniería de Proyectos
Revista estudiantil, trabajo final Materia ingeniería de ProyectosRevista estudiantil, trabajo final Materia ingeniería de Proyectos
Revista estudiantil, trabajo final Materia ingeniería de Proyectos
 
FORMACION-INTEGRAL-DE-LINIEROS modelo de curso.pdf
FORMACION-INTEGRAL-DE-LINIEROS modelo de curso.pdfFORMACION-INTEGRAL-DE-LINIEROS modelo de curso.pdf
FORMACION-INTEGRAL-DE-LINIEROS modelo de curso.pdf
 
Topografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la IngenieríasTopografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la Ingenierías
 
trabajos en altura 2024, sistemas de contencion anticaidas
trabajos en altura 2024, sistemas de contencion anticaidastrabajos en altura 2024, sistemas de contencion anticaidas
trabajos en altura 2024, sistemas de contencion anticaidas
 
SEMANA 6 MEDIDAS DE TENDENCIA CENTRAL.pdf
SEMANA  6 MEDIDAS DE TENDENCIA CENTRAL.pdfSEMANA  6 MEDIDAS DE TENDENCIA CENTRAL.pdf
SEMANA 6 MEDIDAS DE TENDENCIA CENTRAL.pdf
 
CONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdf
CONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdfCONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdf
CONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdf
 

Python y la POO, en una clase, UNNe-Corrientes

  • 2. Indice 1. Técnicas de enseñanza de la programación en Ingenieria. 2. Que es python? Cuando nace? Y donde se usa hoy? 2. Como comparamos distintos lenguajes de programación? 3. OK. Ahora veamos que nos ofrece Python…. 4. El Paradigma de Programación Orientada a Objetos y la filosofía de python 5. Estructuras basicas en Python, comparadas con C++. 6. Estructuras complejas… 7. OpenSource la gran ventaja , y su licencia PSFL. 8. Gran cantidad de Modulos y paquetes. 9. No me creen?? Estadisticas, y el principal usuario del lenguaje. 10. Links recomendados, para ponerse en marcha. 11. Dudas, consultas, quejas??
  • 3. Técnicas de enseñanza: Modelo clásico PIC16F84 C, C++ Arquitectura de PC, Registros Ensamblador
  • 4. Técnicas de enseñanza: Modelo clásico VENTAJAS: 1. Sigue el orden lógico de aprendizaje (desde el punto de vista del hardware) DESVENTAJAS: 1. Se ata el conocimiento a una estructura de microcontrolador en particular 2. Se pierde mucho tiempo tratando de interpretar el funcionamiento de una familia De microcontrolador en particular (16F84) 3. Se pierde mucho tiempo tratando de interpretar el trabajo en ensamblador 4. Se llega tarde a la etapa en C, C++. 5. Se pierde mucho tiempo intentando aprender C, C++. 6. No se llega al vinculo software- hardware entre microcontrolador y PC. 7. El conocimiento adquirido es valido casi exclusivamente para «familias» O marcas de micro controladores particulares.
  • 5. Técnicas de enseñanza: Modelo Actual Linux, Windows Arduino Arquitectura hardware de PC, Registros Arquitectura de software de un Sistema Operativo (PC) C,C++ Python Reseñas de Ensamblador Proyecto o trabajo de vinculación
  • 6. Técnicas de enseñanza: Modelo Actual VENTAJAS: 1. Sigue el orden lógico de aprendizaje, para software y para el hardware 2. Se conoce rápidamente C,C++ , lenguaje base de todos casi todos los lenguajes De programación. 3. Se aprende a trabajar con la PC, algo básico para después manejar software Especifico de mayor complejidad (matlab, python, Proteus, Orcad, VHDL, etc.) 4. No se ata el conocimiento a un proveedor de hardware o ‘marca’, y se prioriza La comprensión de los PARADIGMAS y FILOSOFIAS de programación, en vez de una ‘marca’ de hardware. 5. Conociendo C, C++ es extremadamente sencillo iniciar en python. 6. Se cierra el circuito de aprendizaje vinculando un desarrollo de software (PC + python), con un desarrollo de hardware (Arduino + C). 7. Este proceso aporta al estudiante una herramienta de trabajo con formato general. DESVENTAJAS: 1. No se puede omitir ningún paso en el proceso de enseñanza. 2. Se necesita de personal que conozca cada área en particular. 3. Requiere de bastante practica, se aprende haciendo
  • 7. Que es python? Cuando nace? Y donde se usa hoy? Python fue creado a finales de los ochenta por Guido van Rossum (foto) en Holanda. Van Rossum es el principal autor de Python, y continua con su rol central en decidir la dirección de Python. •Primera aparicion de Python : 1991. •Influido por Perl, Java, Lisp. •Influyo en Ruby, JavaScript, Cython. •Multiplataforma •OpenSource •Version Actual: 3.3.1 / 2.7.4 . Python se uso en la Tesis doctoral que creo Google. Debido a eso ha tenido un fuerte vinculo con la empresa. Python se hizo masivo en el año 2008, cuando fue el primer leguaje soportado por la Google App Engine. Actualmente python es parte fundamental de: Google, DreamWorks, Pixar, Disney, la NASA el CERN y el caso de éxito mas importante: toda la plataforma de YOUTUBE.
  • 8. Como comparamos distintos lenguajes de programación? Con todos los lenguajes se puede hacer todo, pero formalmente, algunos tienen mas “facilidad y velocidad” para algunas “tareas o filosofias” de trabajo. Para comparar lenguajes se los clasifican segun: 1. Nivel de abstraccion (alto o bajo nivel). 2. Forma de ejecucion (compilada o intepretada). 3. Según el paradigma de programacion ( procedual,POO, funcional, Logica). 3.1- Procedual: C, BASIC. Python 3.2- POO: C++. Python 3.3- Funcional: Matlab, LISP, FORTRAN. Python 3.4- Logica: PROLOG. Python 3.5- Multi-Paradigma: C#, JAVA, Python,VB. 4. Según la Filosofia del lenguaje: Ruby: Prioriza pocas lineas de codigo, y el principio de la menor sorpresa. Python: Prioriza la Legibilidad, la transparencia y la sencillez.
  • 9. El paradigma Programación Orientada a Objetos (POO) • Cambia el concepto de DATO pasivo a OBJETO ACTIVO. • No hay DIMENSIONES , hay OBJETOS con METODOS y ATRIBUTOS. • Un objeto suele confundirse con una librería o importar un archivo, esto es falso. Una librería puede incluir varias clases u objetos internos. • Las clases son consecuencia de la evolución de los tipos de datos.
  • 10. El paradigma Programación Orientada a Objetos (POO) Datos simples x= 5 y = 2.3 Agrupación de Datos simples del mismo tipo (arrays, strings) x= [5,2,4,6] Y=‘buen dia’ Agrupación de Datos de distinto tipo (struct, union) x= [5, 0.3, ’hola’, 0xFF] Agrupación de Datos y funciones, de distintos tipos ? 1950, ensamblador 1960,FORTRAN,COBOL 1980,C, BASIC 1985,C++ ~2000 Python, C#, JAVA
  • 11. El paradigma Programación Orientada a Objetos (POO) Video Rápido, que explica POO en Python, clic aquí
  • 12. OK. Ahora veamos que nos ofrece Python…. Python permite trabajar de todas las maneras vistas antes (y tiene tipado dinámico  ) •Procedual y POO: •Funcional: •Logica:
  • 13. Estructuras básicas en Python, comparadas con C++. .Tipado de variables: C,C++,etc. Python
  • 14. Estructuras básicas en Python, comparadas con C++. .Bucles(for, if-elif-else, while): C,C++,etc. Python
  • 15. Estructuras complejas… .Clases : C,C++,etc. Python
  • 17. Estructuras en Python, comparadas con C++. Conclusiones generales: • Python corre entre entre 3 y 5 veces mas lento que C++, pero lleva entre 5 y 10 veces menos tiempo de desarrollo. Es decir 1 año de C++ == 2 meses de python • En python maneja errores como un juguete, en C++ como un guru. • C++ es la base de cualquier lenguaje de programación actual, Python no. • Un problema en cualquier lenguaje se puede resolver con su equivalente en C++, no en python. • Python esta altamente orientado al prototipo y resultados rapidos, C++ esta orientado a algo concreto y de producción. • Python NO TIENE PUNTEROS, en ves de eso usa variables mutables (pasan por referencia), como ser listas,diccionarios y objetos de usuario. Y variables inmutables (paso por valor), como son los int, float y tuplas.
  • 18. OpenSource la gran ventaja , y su licencia PSFL. • No hay que pagarle a nadie para desarrollar en Python, como si ‘deberia ser’ con Visual, Matlab, JavaScript, • No existen las variables de tipo privado, aunque hay directivas para identificarlas como tal. • Python no respeta norma ANSI,ISO, ni nada (todavia), C++ si (ISO/IEC C++-2011). • Licencia PSFL, permite distribuir software como privado.
  • 19. Gran cantidad de Modulos y paquetes. Python actualmente cuenta con +25000 paquetes. Cada paquete es un conjunto de Modulos. Cada Modulo es un conjunto de clases. Cada clase es un conjunto de Metodos y variables. Python tiene varias implementaciones, la principal y por defecto es Cpython. Pero existen otras (por las dudas): • IronPython -> implementacion en .NET • Stackless -> implementacion en Cpython que no usa el stack de C. • Jython -> implementacion en Java VM. • Pippy -> implementacion para PALM. • PyPy -> implementacion de Python en Python (?????) • Pyjamas -> implementacion en JavaScript • Shed Skin -> en C++ • PyS60 -> en symbian S60 de nokia. • Py4A -> ¿Quién adivina?
  • 20. No me creen?? Estadisticas La web http://www.tiobe.com/, se encarga del benchmarck o comparacion de lenguajes de programacion en funcion del numero de webs sobre el tema (super-impreciso ), aquí algunos graficos para octubre 2013: Salon de la fama (python, unico en ganar 3 veces)
  • 21. No me creen?? Estadísticas Según el Sr. trendy (HTML y XML no son lenguajes y no dice como obtiene los datos, dudoso):
  • 22. No me creen?? Estadísticas PyPL-PopularitY-of-Programming-Language, es el mas neutral y certero de los estadistas en este tema, se basa en las busquedas de google sobre ‘tutoriales del lenguaje’, son ademas, datos de acceso publico (de google):
  • 23. Links recomendados, para ponerse en marcha... Python Oficiales: • http://python.org/ • http://python.org.ar/ - comunidad de argentina • http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html- estadisticas del lenguaje (yo no le creo) • http://trendyskills.com/ - otro • https://sites.google.com/site/pydatalog/pypl/PyPL-PopularitY-of-Programming- Language - otro, el mas certero para mi. • http://www.pinguino.cc/ - version arduino con PIC, y Python • http://micropinguino.blogspot.com.ar/ -- la mejor web para pingüino y Python • https://code.google.com/p/pinguino32/ -- comunidad pinguino