Top Banner
Intro a la programación Python Mariano Reingart [email protected] Mini-Clase - 26 Abril de 2015 Observación y Práctica de la Enseñanza Prof. Mónica Fernández Carry Profesorado UTN FRA INSPT
25

Mini clase Intro Programación Python UTN Profesorado 2015

Jul 28, 2015

Download

Education

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Mini clase Intro Programación Python UTN Profesorado 2015

Intro a la programación PythonMariano Reingart

[email protected]

Mini-Clase - 26 Abril de 2015Observación y Práctica de la Enseñanza

Prof. Mónica Fernández Carry Profesorado UTN FRA INSPT

Page 2: Mini clase Intro Programación Python UTN Profesorado 2015

Introducción: ¿Qué es Python?

●Lenguaje de Programación creado por GvR en '90● Iniciativa “Programación para Todos”●Sintaxis clara y limpia => código legible●Lenguaje interpretado ("script"),

no compilado código nativo, flexibilidad vs velocidad, pseudocódigo intermedio (bytecode)

●Multiplataforma: Unix, Windows, Mac, ...●Multiparadigma: estructurado, funcional, orientado a

objetos, orientado a aspectos

Page 3: Mini clase Intro Programación Python UTN Profesorado 2015

Introducción: ¿Por qué Python?

●Lenguaje “natural” (inglés) simplificado●Agrupación por sangría sin {}●Dinámico●Tipos de datos de alto nivel●Gestión de memoria automática●Gran cantidad de librerías●Extensibilidad

●Fácil de aprender●Desarrollo rápido de aplicaciones●Código más mantenible●No recomendable: bajo nivel o rendimiento crítico*

Page 4: Mini clase Intro Programación Python UTN Profesorado 2015

¿Quién usa Python?

Page 5: Mini clase Intro Programación Python UTN Profesorado 2015

Tendencias laborales

Page 6: Mini clase Intro Programación Python UTN Profesorado 2015

“Relevamientos” a largo plazoÍndice TIOBE Abril 2015

Page 7: Mini clase Intro Programación Python UTN Profesorado 2015

Tendencias (red social consultas)1° lenguaje de propósito general más deseado5° lenguaje más popular

Encuesta 2015:● global● 26 mil casos● sesgos (idioma)

Red social líderpreguntas yrespuestas técnicas

Page 8: Mini clase Intro Programación Python UTN Profesorado 2015

Tendencias combinadas...Ranking:

1° JavaScript2° Java3° PHP4° Python5° C#5° C++...

Red social de programación →

Page 9: Mini clase Intro Programación Python UTN Profesorado 2015

Instalación

●Implementación estándar: CPython (rápida y estable)

●Alternativas: Jython (Java), IronPython (.Net), PyPy

●CPython: preinstalado Linux y Mac● Instaladores: http://www.python.org/download/ ●Versiones disponibles:

○2.7.9: final - solo bugfix - mayor compatibilidad○3.4: estable, levemente incompatible hacia atrás

Page 10: Mini clase Intro Programación Python UTN Profesorado 2015

Herramientas básicas● Intérprete (línea de comandos) ●Ejecuta scripts (a.k.a. programas)

● IDLE: Intérprete/IDE gráfica (predeterminado)● IPython: interpreter mejorado● IDEs: PyDev (Java), PTVS,

Komodo, WingIDE, etc.

Page 11: Mini clase Intro Programación Python UTN Profesorado 2015

Primer ProgramaIngresar al intérprete, escribir:

>>> print "hola mundo!"hola mundo!

Comparativa en otros lenguajes de programación...:

public class HelloWorld { public static void main(String[] args) { System.out.println("Hola Mundo"); }}

#include <iostream.h>main(){ cout << "Hola mundo ";}

program Hola; begin writeln ('Hola, mundo.') end.

/* Programa hola mundo */#include <stdio.h>main(){ printf("Hola mundo");}

Page 12: Mini clase Intro Programación Python UTN Profesorado 2015

Estructura básica●Palabras claves: and as assert break class

continue def del elif else except exec finally for from global if import in is lambda not or pass print raise return try while with yield

●Operadores: + - * ** / // % << >> & | ^ ~ < > <= >= == != <>

●Separadores: , : . ` = ; += -= *= /= //= %= &= |= ^= >>= <<= **= ( ) [ ] { } @

●Built-in: funciones, objetos y clases incorporadas en el lenguaje por defecto

●Sangría, espaciado y unión de líneas (\)

Page 13: Mini clase Intro Programación Python UTN Profesorado 2015

Programa básico

#!/usr/bin/python# -*- coding: latin1 -*-

# sumo dos variables (comentario)a = 2 # enterob = 1.5 # punto flotanteprint a + b

# pregunto el nombre, imprimo saludonombre = raw_input("ingrese su nombre")mensaje = "hola" print mensaje, nombre

Page 14: Mini clase Intro Programación Python UTN Profesorado 2015

Control de flujo: condicionales ifif condición1: bloque si se cumple condición1elif condición2: bloque si se cumple condición2else: bloque en caso contrario

numero = int(raw_input("Ingrese un numero:"))if numero < 0: print "Negativo"elif numero > 0: print "Positivo"else: print "Cero"

Page 15: Mini clase Intro Programación Python UTN Profesorado 2015

Control de flujo: bucles whilewhile condición: bloque si se cumple condición continue # vuelve al comienzo break # interrumpo el ciclo

else: bloque si no se ha interrumpido

edad = 0while edad < 18: edad = edad + 1 print "Felicidades, tienes " + str(edad)print "Felicidades, ya es mayor de edad!"

Page 16: Mini clase Intro Programación Python UTN Profesorado 2015

Control de flujo: iteraciones forfor elemento in secuencia: bloque que se repite continue # vuelve al comienzo break # interrumpo el ciclo

else: bloque si no se ha interrumpido

for elemento in ["uno", "dos", "tres"]: # este bloque se repite 3 veces print elemento

for i in xrange(0, 100, 2): print i

Page 17: Mini clase Intro Programación Python UTN Profesorado 2015

Funciones:●Fragmentos de código (con o sin nombre*)●Pueden recibir argumentos y devuelven un

valor (o None)

def funcion(argumento1,argumento2=100): "Esta función hace..." bloque de código return valor

def saludar(nombre, saludo="hola "): print saludo, nombre

saludar("Mariano", saludo="Buenos días ")

Page 19: Mini clase Intro Programación Python UTN Profesorado 2015

¿Preguntas?

Intro a la programación PythonMariano Reingart

[email protected]@reingart (twitter)

Mini-Clase Profesorado UTN - 26 Abril de 2015

Page 20: Mini clase Intro Programación Python UTN Profesorado 2015

Bonus Track 1

Trabajos Alumnos: Raspberry Pi + Electrónica

Page 21: Mini clase Intro Programación Python UTN Profesorado 2015

Bonus Track 2

Trabajos Alumnos: Raspberry Pi + Domótica

Page 22: Mini clase Intro Programación Python UTN Profesorado 2015

Bonus Track 3

Aprendiendo a programar con Robot N6

Page 23: Mini clase Intro Programación Python UTN Profesorado 2015

Bonus Track 4

Desarrollo web Trabajo Final (web2py)Repositorio: GoogleCode → GitHub

Page 24: Mini clase Intro Programación Python UTN Profesorado 2015

Bonus Track 5

¡Programación para todos!program.ar (iniciativa Ministerio Educación)

Page 25: Mini clase Intro Programación Python UTN Profesorado 2015

¡Gracias!

Intro a la programación PythonMariano [email protected]

@reingart +MarianoReingartreingart.blogspot.com github.com/reingart www.slideshare.

net/reingartMini-Clase Profesorado UTN - 26 Abril de 2015

Copyright (C) 2009 - 2015 Mariano Reingart [email protected] - Visite el sitio http://reingart.blogspot.com/ para novedades. Salvo indicación contraria, el texto de esta presentación está disponible bajo la Licencia Creative Commons Atribución Compartir Igual 3.0 Unported; podrían ser aplicables cláusulas adicionales. Las imágenes, marcas y otros contenidos son propiedad de sus respectivos titulares. Toda información es proporcionada solo a Titulo Informativo.S.E.U.O.