clase 1 curso introducción a python 2012

22

Upload: nahuel-defosse

Post on 13-Jun-2015

1.012 views

Category:

Education


1 download

DESCRIPTION

Curso de Introducción a Python de la UNPSJB

TRANSCRIPT

Page 1: Clase 1 Curso Introducción a Python 2012

IntroducciónReglas del cursoInstalación del software

Curso de Introducción a Python

Clase 1

Defossé Nahuel, Pecile Lautaro

UNPSJB

Agosto 2012

Defossé Nahuel, Pecile Lautaro Curso de Introducción a Python

Page 2: Clase 1 Curso Introducción a Python 2012

IntroducciónReglas del cursoInstalación del software

El cursado se aprueba asistiendo al 80% de las clases y entregandoel trabajo �nal.Cada clase consiste en una sección teórica de 45'-1hs y la mismacantidad de práctica.

En la teoría veremos la sintaxis e intentaremos entender la�losofía del lenguaje.

En la práctica, veremos como utilizar python con �nalidadesprácticas

Defossé Nahuel, Pecile Lautaro Curso de Introducción a Python

Page 3: Clase 1 Curso Introducción a Python 2012

IntroducciónReglas del cursoInstalación del software

Versiones de Python

Actualmente existen 2 ramas de Python. La versión actual dePython es 2.7 para la rama 2 y 3.2 para la rama 3.

La versión 3 es la que está siendo desarrollada (alterada) eneste momento. Mientras tanto, la versión 2 recibemantenimiento.

Una nueva versión de Python es lanzada cada 18 meses,introduciendo nuevas características y quitando o mejorandootras.

En el curso utilizaremos Python 2.7.

Sin embargo, lo que aprendan en el curso puede ser �portado�a Python 3 sin problemas.

Defossé Nahuel, Pecile Lautaro Curso de Introducción a Python

Page 4: Clase 1 Curso Introducción a Python 2012

IntroducciónReglas del cursoInstalación del software

Implementaciones de Python

Existen muchas implementaciones del lenguaje, orientadas adiferentes plataformas y/o funciones.

La implementación principal es CPython (�Classic Python �,que se baja de python.org). Todas las demás se basan en esta.

En este curso vamos a usar CPython, pero todo lo queaprendan puede ser �portado� a las demás implementaciones.

Jython está implementado sobre la máquina virtual deJavaIronPython está implementado sobre CLR de .NetPypy está implementado en ... Python!

Defossé Nahuel, Pecile Lautaro Curso de Introducción a Python

Page 5: Clase 1 Curso Introducción a Python 2012

IntroducciónReglas del cursoInstalación del software

¾Quién está detrás de Python?

Python es desarrollado por una fundación llamada "PythonSoftware Foundation"(PSF).La PSF se encarga de la implementación base de Python, promoverel lenguaje y ayudar a las comunidades locales, entre otras tareas.Guido van Rossum es el creador y se lo llama el Benévolodictador de por vida, ya que decide en última instancia el derroterodel lenguaje :)

Defossé Nahuel, Pecile Lautaro Curso de Introducción a Python

Page 6: Clase 1 Curso Introducción a Python 2012

IntroducciónReglas del cursoInstalación del software

Dónde conseguir ayuda

Hay muchos (muchos) lugares en dónde conseguir soporte paratrabajar con Python. Acá les damos algunos para empezar.

El sitio web del curso

�Python no muerde, yo sí�

�Dive Into Python�

Documentación o�cial de Python

Documentación de Python en español

�Python para todos�

PyAr

Python Entre Todos

Defossé Nahuel, Pecile Lautaro Curso de Introducción a Python

Page 7: Clase 1 Curso Introducción a Python 2012

IntroducciónReglas del cursoInstalación del software

Instalación de Python

Python es multiplataforma, está disponible para Windows, Linux,OSX y otros sistemas operativos.Se descarga de python.org.

En Windows es necesario instalar alguna implementación.

En Linux está instalado por defecto

En Mac está instalado por defecto.

El lenguaje incluye cientos de librerías para diferentes propósitos yactividades, de manera que usualmente no es necesario instalarnada más que el lenguaje para comenzar a desarrollar unaaplicación. De hecho, incluye un IDE denominado IDLE, el cualposee una herramienta de debug básica, un editor simple yextensible y un intérprete por consola para ir probando el programaque estemos desarrollando.

Defossé Nahuel, Pecile Lautaro Curso de Introducción a Python

Page 8: Clase 1 Curso Introducción a Python 2012

IntroducciónReglas del cursoInstalación del software

Instalación de Python en Windows

La instalación en Windows es muy simple. No es más que seguir losdiálogos, y seleccionar las partes que se necesitan del lenguaje (laopción seleccionada por defecto está bien para la mayoría de loscasos). Conviene añadir al PATH del sistema la ruta a la carpeta dePython y también la subcarpeta �scripts�. De esta manera Pythonquedará completamente integrado con el sistema.

Para comenzar recomendamos a los usuarios de Windows queusen PythonXY ya que tiene una instalación fácil y provee demanera automática muchos paquetes de terceros que usaremosen la práctica.

Defossé Nahuel, Pecile Lautaro Curso de Introducción a Python

Page 9: Clase 1 Curso Introducción a Python 2012

IntroducciónReglas del cursoInstalación del software

Entorno de Desarrollo

En el curso utilizaremos Spyder, que integra un editor, unaterminal donde probar y un visualizador de documentación.

Defossé Nahuel, Pecile Lautaro Curso de Introducción a Python

Page 10: Clase 1 Curso Introducción a Python 2012

Introducción

Ahora sí, comenzamos con el lenguaje.

Defossé Nahuel, Pecile Lautaro Curso de Introducción a Python

Page 11: Clase 1 Curso Introducción a Python 2012

Introducción

Python es un lenguaje interpretado

print "Hola mundo"

Esto signi�ca que el lenguaje va creando y ejecutando(interpretando) el programa a medida que lo vamosescribiendo. Esto también se conoce como *REPL* (Read -Eval - Print Loop").

Signi�ca que podemos jugar con el lenguaje y experimentarinmediatamente lo que queremos hacer sin tener que esperar a�compilar� el programa y luego ejecutarlo.

Defossé Nahuel, Pecile Lautaro Curso de Introducción a Python

Page 12: Clase 1 Curso Introducción a Python 2012

Introducción

Funciones

En Python, todos los bloques están determinados por laindentación.

Las funciones pueden recibir 0 a n parámetros, y devolver 0 o1 resultados (en realidad, SIEMPRE devuelve algo).

No es necesario especi�car el tipo de nada. Python se dacuenta qué es cada cosa.

def hola_mundo(mensaje = "Hola mundo!"):

print mensaje

hola_mundo() # 'Hola mundo!'

hola_mundo("Hola gente!") # 'Hola gente!'

Defossé Nahuel, Pecile Lautaro Curso de Introducción a Python

Page 13: Clase 1 Curso Introducción a Python 2012

Introducción

Funciones built-in

Hay montones de funciones incluídas en el núcleo del lenguajepara varios propósitos.

Estas funciones están disponibles por defecto. No es necesarioimportarlas.

Para ver la lista de funciones, usamos la función dir().

dir('__builtins__') # una larga lista con los

# nombres de objetos disponibles

Defossé Nahuel, Pecile Lautaro Curso de Introducción a Python

Page 14: Clase 1 Curso Introducción a Python 2012

Introducción

Documentación en línea

Python viene autodocumentado.

Podemos obtener información de muchas cosas utilizando lafunción help().

# Por ejemplo, podemos obtener informacion

# sobre la funcion que acabamos de conocer.

help(dir)

Defossé Nahuel, Pecile Lautaro Curso de Introducción a Python

Page 15: Clase 1 Curso Introducción a Python 2012

Introducción

Espacios de nombres

dir() es una función con una utilidad especial, nos permiteconocer el �espacio de nombres� .

El espacio de nombres se puede pensar como una bolsa con lasreferecias a todos los objetos disponibles a ese espacio.

Los espacios de nombres se anidan, sobreescriben, modi�can,etc.

En Python no existen las variables en el sentido de loslenguajes compilados.

Lo que tenemos son etiquetas que referencian objetos enalguna parte de la memoria.

Los objetos que no están referenciados por nadie en ningúnespacio de nombres, son eliminados de la memoria.

Defossé Nahuel, Pecile Lautaro Curso de Introducción a Python

Page 16: Clase 1 Curso Introducción a Python 2012

Introducción

Espacios de nombres 2

dir() #nuestro espacio de nombres actual.

import sys #agregamos un espacio .

dir(sys) #vemos el espacio de nombres 'sys'

a = 1 #agregamos un elemento a nuestro espacio

dir() #repasamos el espacio de nombres .

a = 'a' #modificamos un elemento

b = 'b' #agregamos otro elemento

print a, b

b = a

print a, b

Defossé Nahuel, Pecile Lautaro Curso de Introducción a Python

Page 17: Clase 1 Curso Introducción a Python 2012

Introducción

REPASO! 1

Python es un lenguaje interpretado.

Funciones. Vimos como de�nirlas. Y también que hay unascuantas disponibles en el lenguaje.

help() nos muestra la documentación de la función (si existe)

Espacios de nombres. Qué son. Para qué sirven.

Defossé Nahuel, Pecile Lautaro Curso de Introducción a Python

Page 18: Clase 1 Curso Introducción a Python 2012

Introducción

Objetos

Python es un lenguaje orientado a objetos.

Todo es un objeto en Python.

Un objeto está de�nido por su clase.

Un objeto posee una identidad, un valor y un tipo.

Defossé Nahuel, Pecile Lautaro Curso de Introducción a Python

Page 19: Clase 1 Curso Introducción a Python 2012

Introducción

Creando una clase en Python

Necesitamos indicar:

de qué clase(s) heredamos

un método inicializador en donde se declarará la estructura delobjeto

todos los demás métodos necesarios

class Persona(object):

def __init__(self, nombre, edad):

self.nombre

self.edad

Defossé Nahuel, Pecile Lautaro Curso de Introducción a Python

Page 20: Clase 1 Curso Introducción a Python 2012

Introducción

# instanciamos un par de objetos

carlos = Persona("Carlos", 30)

marta = Persona("Marta", 28)

# accedemos a sus miembros

print carlos.nombre

marta.edad = carlos.edad

print marta.edad

carlos.apellido = 'perez'

# averiguamos la clase del objeto carlos

print type carlos

Defossé Nahuel, Pecile Lautaro Curso de Introducción a Python

Page 21: Clase 1 Curso Introducción a Python 2012

Introducción

Objetos - Repaso

Los objetos herendan su comportamiento de alguna clase. Almenos de la clase object.

El método __init__ es el constructor.

Los métodos deben llevar explícito el primer parámetro self,que referenciará al objeto.

Defossé Nahuel, Pecile Lautaro Curso de Introducción a Python

Page 22: Clase 1 Curso Introducción a Python 2012

Introducción

Repaso de la Clase

Conocimos qué es Python, cómo instalarlo y cómo comenzar ahacer algunos programas.

Nos �cruzamos� con algunos tipos básicos como cadenas,enteros y listas.

Aprendimos a crear y llamar funciones. Conocimos lasfunciones __builtin__ que están siempre disponibles.

Aprendimos a crear objetos simples, y a instanciarlos

Defossé Nahuel, Pecile Lautaro Curso de Introducción a Python