Sunteți pe pagina 1din 50

TALLER INTRODUCTORIO DE PROGRAMACION EN

PYTHON

EL INSTRUCTOR
Elas Escobar
Actualmente me desempeo como Desarrollador Web y de Software independiente adems soy Profesor Coordinador en el rea de Sistema e Informtica en la Aldea Universitaria Jos Rafael Revenga en El Consejo Estado Aragua. Tengo mas de 10 aos dedicado a la Computacin e Informtica realizando proyectos tales como el INFO-SANTE Y SISTEMA DE CONTROL POR OBJETIVOS en el Centro de Salud y Servicios Sociales de Montreal Canada. Los mas recientes; Sistema de Control Administrativo para Farmacias y Control de Citas de Pacientes entre otros. Trabajo con lenguajes tales como SQL, Javascript, CSS, HTML, HTML5, XML, C#, Java, C, VB, PYTHON Y PHP. eliascan@live.ca O 0412-482-4870

TALLER DE PYTHON
Este es un taller para introducir y dar a conocer el lenguaje de programacin PYTHON en este taller, se presentara solamente conocimientos bsicos sobre PYTHON, si usted desea profundizar en el lenguaje queda en usted buscar la forma de hacerlo. Dinmica del taller

Levanten la mano para preguntar. Por favor no interrumpir durante la explicacin. Despus de la explicacin de un comando, mtodo o funcin haremos una demostracin del mismo. Despus de 2 horas de exposicin tendremos un break de 15 minutos.

OBJETIVOS DEL TALLER

DAR A CONOCER EL LENGUAJE DE PROGRAMACION PYTHON CONOCER LOS BENEFICIOS Y LAS VIRTUDES DE PYTHON SABER COMO INSTALARLO EN LOS DIFERENTES S/O. ENTENDER LA SINTAXIS DEL LENGUAJE DOMINAR LA PROGRAMACION BASICA EN PYTHON COMPRENDER LOS CODIGOS BASICOS DE PYTHON CONOCER LOS DIFERENTES DESARROLLA EN PYTHON AMBIENTES DONDE SE

UN POCO DE HISTORIA
PYTHON fue creado a finales de los ochenta y publicado en 1991 por Guido Van Rossum en el Centro para las Matemticas y la Informtica (CWI, Centrum Wiskunde & Informatica), en los Pases Bajos, como un sucesor del lenguaje de programacin ABC, capaz de manejar excepciones e interactuar con el sistema operativo Amoeba. El nombre de PYTHON fue dado por Van Rossum debido a una serie cmica de la televisin Britnica que se llama Monty Python y no por le serpiente Python de la India; a pesar de ser identificado por esta ultima. En el 2005 Google lo adopta como el lenguaje oficial para las aplicaciones Google Apps. En el ao 2011 PYTHON recibe por tercera ves consecutiva el reconocimiento como mejor lenguaje de programacion otorgado por LINUX pasando por encima de lenguajes como C++, JAVA y Perl entre otros.

POR QUE PYTHON?


Sintaxis clara, limpia y sencilla. Tipado dinmico. Gran cantidad de bibliotecas disponibles. Gestin de memoria rpida y automtica. Es interpretado y semi-compilado. Sencillo de entender. Fcil de aprender. Multi-Plataforma (Windows, Mac OS X, Linux, Solaris y Otros). Multi-Paradigma (Programacin por procedimiento o imperativa, Un lenguaje todo-terreno y chevere.
funcional y orientada a objetos).

APLICACIONES CON PYTHON


Desarrollo de Software Desarrollo Web e Internet Bases de Datos XML Juegos Grficos 3D Bioinfrmatica Fsica Educacin

QUIEN UTILIZA PYTHON

CONTENIDO
I.II.III.IV.V.VI.VII.VIII.IX.X.INSTALACION DE PYTHON MI PRIMER PROGRAMA SINTAXIS TIPOS DE VARIABLES OPERADORES CONTROL DE FLUJO COLECCIONES BIBLIOTECAS FUNCIONES POO PROGRAMACION ORIENTADA A OBJETOS

INSTALACION DE PYTHON
En Windows usted simplemente se dirige a este sitio (http://www.python.org/download/) y baja la versin que usted guste la recomendada es 2.7.2; a pesar que ya esta la versin 3.2.2 Para Linux, Python viene nativo o sea ya esta incluido. Usted solamente tendr que tipear la palabra python en el terminal y lo convertir en su ambiente de trabajo. En Mac OS X, es exactamente igual que para Linux; Python es nativo.
HERRAMIENTAS IMPORTANTES:

El editor de texto Geany para instalarlo en Ubuntu coloque en el terminal sudo apt-get install geany y sudo apt-get install idle e instala el IDLE. Windows baje el ejecutable en http://download.geany.org/geany-0.21_setup.exe, el IDLE viene incluido cuando instala Python.

MI PRIMER PROGRAMA
Ya instalado PYTHON podemos hacer nuestro primer programa. Abrimos el terminal tipiamos ''python'' y luego >>print ''Este es mi primer programa en PYTHON''

SINTAXIS
Diferencia Maysculas de minsculas No se necesita carcter para indicar el fin de una sentencia. Los bloques son especificados por indentacin # Esta linea es un comentario Var = 3 # Asignacin con el carcter = Var == Var1 # Operador igualdad Var -= 1 # Para incrementar Var += 1

ENTRADA Y SALIDA
Entrada:
metodos:
raw_input(), y read() y sus derivados raw_input(), input() lee de stdin read() lee de un flujo(fichero,stdin,socket...)

Salida:

metodos:
print() y write() print() escribe en stdout Write() escribe en un flujo(fichero,stdin,socket...)

TIPOS DE VARIABLES

Nmeros : entero, flotante, complejo


| 3 | 4.57 | 2 + 3j

Cadenas de Texto
Hola Mundo

Valores Booleanos
True False Saber el tipo de dato que contiene una

variable: type(id_variable)

VARIABLES

No es necesario declarar las variables


Java, C++, C#
int x = 3; string m = ''Hola''; x=3 m = ''Hola''

Python

Asignacin Mltiple en una linea


>>> a, b = 5, 7 >>> a 5 >>> a, b = b, a >>> a 7
var = a; a = b; b = var;

OPERADORES
Operador es un smbolo matemtico que indica que debe ser llevada a cabo una operacin especificada sobre un cierto nmero de operandos (nmero, funcin, vector, etc.). TIPOS DE OPERADORES USADOS POR PYTHON:

* * * *

Operadores Aritmticos Operadores a nivel de bit(No lo trataremos) Cadenas de Caracteres Booleanos


Convenciones %s %d %f %.2f Descripcin Para las cadenas Para los enteros Para los decimales
Muestra el numero con 2 decimales (1.00)

OPERADORES ARITMETICOS
Operador Suma Resta Multiplicacin Divisin Exponente Divisin entera Mdulo Ejemplo X=7+5 x = 12 X=25 x = -3 X=5*4 x = 20 X= 3/2 x = 1.5 X = 2 ** 5 x = 32 X = 4.7 // 3 x = 1.0 X= 7%2 x=1

+ * / ** // %

CADENAS DE CARACTERES STRINGS


Las cadenas de caracteres o strings son textos encerrado entre comillas simples (Hola Mundo) o dobles (Hola Mundo). Dentro de las comillas se pueden aadir caracteres especiales escapndolos con \, como \n, el carcter de nueva lnea, o \t, el de tabulacin.
SALTO DE LINEA P = I Love\n PYTHON P = Me Gusta PYTHON H = Hola\t U = UPTA M = H + U # M es: Hola UPTA Z = H * 3 # Z es: Hola Hola Hola MUESTRA I Love PYTHON Me Gusta PYTHON

BOOLEANS
OPERADORES LOGICOS O CONDICIONALES OPERADOR DEMO and m y n S = True and False or m o n S = True or False not No m S = Not True S es False S es True S es False

OPERADORES RELACIONALES == != < > <= >= OPERADOR Igual a no igual a menor que mayor que menor igual que mayor igual que DEMO S = 7 == 3 S es False S = 7 != 3 S es True S=5<2 S es False S=3>1 S es True S = 9 <= 10 S es False S = 5 >= 5 S es True

CONTROL DE FLUJO
En Python al igual que los dems lenguajes de programacin hay los controles de flujo los cuales nos permiten controlar el orden en que se ejecutaran las instrucciones que tenemos en el programa. Estos son: CONDICIONALES:

If ... : If ... : else : If ... : elseif ... : else :

BUCLES:

for ... in ... : while :

If ... :
La construccin ms sencilla de los condicionales es la de un solo if esta es seguida de la condicin a evaluar, luego 2 puntos (:) y en la siguiente linea debe estar indentado con el cdigo a ejecutar en caso de que se cumpla la condicin. Var = Python print Yo utilizo + Var If (Var == Python) : print Usted tiene buen gusto !

If ... : else :
La segunda construccin de los condicionales es la de if y else esta es cuando se cumple la condicin del if ejecuta este caso y si no ejecutara la del else por descarte. Var = C# print Yo utilizo %s % Var If (Var == Python) : print Usted tiene buen gusto ! else: print Usted no esta en nada ! Pruebe:
print Usted tiene buen gusto ! If (Var == Python) else Usted no esta en nada !

If ... : elif ... : else :


La ultima construccin de los condicionales es la de if, elseif y else esta es cuando se cumple la condicion del if se ejecuta sino pasa a ver la otra condicion del elseif si se cumple la ejecuta, si no ejecutara la del else por descarte. Var = Java print Yo utilizo %s ! % Var If (Var == Python) : print Usted tiene buen gusto ! elif (Var == Java): print Usted se va a fundir usando + Var + ! else: print Usted no esta en nada !

For ... in ... :


Python tiene solo 2 bucles Loops o como algunos los llaman contadores. Comensemos por el mas utilisado el for: for numero in range(0, 10): print "Este es el numero ", numero Este Este Este Este Este Este Este Este Este Este es es es es es es es es es es el el el el el el el el el el numero numero numero numero numero numero numero numero numero numero 0 1 2 3 4 5 6 7 8 9

While ... :
Construccin # 1
i=1 while i < 10: print "Este es el numero ", i i += 1 Este es el numero Este es el numero Este es el numero Este es el numero Este es el numero Este es el numero Este es el numero Este es el numero Este es el numero 1 2 3 4 5 6 7 8 9

Construccin # 2
numero = range(0,10) while len(numero) != 0: numero.pop(0) 0 1 2 3 4 5 6 7 8 9

CONTINUE ... BREAK


La declaracin continue quiere decir que contines con el siguiente itinerario del bucle y el break se utiliza para salir del mismo. #!/usr/bin/python while True: s = raw_input('Coloque algo : ') if s == 'salir': break if len(s) < 3: continue print 'La entrada no es suficiente.'

COLECCIONES
Python tiene 3 tipos de Colecciones que son las siguientes: * * * Listas Tuplas Diccionarios

LISTA
(array - matriz - arreglo)

Puede contener cualquier tipo de dato Acceso a los elementos: lista[ndice] ndice=0,1... [ ] Admite nmeros negativos lista[inicio:fin]
Lista[1:] #desde 1 a fin Lista [:2] # desde inicio a 2 lista[3][0] # Accede al elemento 1 lista[-2] devolvera el elemento True lista = [ 35, Hola, True, [1, 2, 3]]

Cuantos elementos tiene la lista


len(lista)

TUPLA
Declaracin: tupla = (1, True, tupla)
Acceso: tupla[ndice]

Propiedades: Inmutables

Sus valores no se pueden modificar Tamao fijo

Mas ligeras que las listas


Consumen menos memoria

DICCIONARIO

conjunto de pares ordenados {clave:valor}


asignaturas[UPTA] La Victoria

asignaturas = {mtp:dsic, etc2g:disca, UPTA:La Victoria}

asignaturas.has_key(est) False asignaturas.keys() ['mtp', 'UPTA', 'etc2g']


asignaturas.items() [('mtp', 'dsic'), ('UPTA', 'La Victoria'), ('etc2g', 'disca')]

CADENAS DE TEXTO
Otras cosas que puedo hacer con cadenas de texto:

cadena = Que risa me da C cadena[4] # devuelve: r cadena[:3] # devuelve: Que cadena[9:] # devuelve: me da C

BIBLIOTECA
es un conjunto de subprogramas utilizados para desarrollar software. Contiene cdigo y datos, que proporcionan servicios a programas independientes, es decir, pasan a formar parte de estos. Esto permite que el cdigo y los datos se compartan y puedan modificarse de forma modular. Algunas bibliotecas (library):

import re import urllib2 import datetime import pygame import MySQL

import math import ramdom import threading import Calendar import wxPython

DEMO DE BIBLIOTECA
Import calendar m = calendar.TextCalendar(calendar.MONDAY) m.prmonth(2012, 4) April 2012 Mo Tu We Th Fr Sa Su 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30

FUNCIONES
Una funcin es un fragmento de cdigo con un nombre asociado que realiza una serie de tareas y devuelve un valor. Parmetro es una variable interna de una funcin o mtodo. Las funciones se definen con la palabra clave def, seguida del nombre de la funcin y sus parmetros. El valor devuelto en las funciones con def ser el dado con la instruccin return.

FUNCION SIMPLE
La funcin simple es aquella que no tiene parmetro La funcin en Python debe ser declarada con las letras def (definition) luego el nombre y despus el o los parmetros dentro de los parentisis seguido de los dos puntos. USANDO print def hola(): print "Hola Python" hola() Hola Python USANDO return def epale(): return "Epale Python!!!" print epale() Epale Python!!!

FUNCION CON UN PARAMETRO


#!/usr/bin/env python def UPTA(x): return "La UPTA esta en %s" % x print UPTA("La Victoria") La UPTA esta en La Victoria

#!/usr/bin/env python def radio(r): return "El rea del circulo con un radio de %.2f es %.2f" % (r, 3.1416*r**2) print radio(2.5) El rea del circulo con un radio de 2.50 es 19.63

FUNCION CON MULTIPLES PARAMETROS


def persona(nombre, apellido): print "%s %s" % nombre, apellido persona('Elias', 'Escobar') Elias Escobar def persona(nombre='Santiago', apellido='Perez'): print "%s %s" % nombre, apellido persona() Santiago Perez persona('Juan', 'Ramirez') Juan Ramirez persona('Erick') Erick Perez persona(apellido='Hernandez') Santiago Hernandez

FUNCIONES PRE-ESTABLECIDAS
abs() all() any() basestring() bin() bool() bytearray() callable() chr() classmethod() cmp() compile() complex() delattr() dict() dir() divmod() enumerate() eval() execfile() file() filter() float() format() frozenset() getattr() globals() hasattr() hash() help() hex() id() input() int() isinstance() issubclass() iter() len() list() locals() long() map() max() memoryview() min() next() object() oct() open() ord() pow() print() property() range() raw_input() reduce() reload() repr() reversed() round() set() setattr() slice() sorted() staticmethod() str() sum() super() tuple() type() unichr() unicode() vars() xrange() zip() __import__() apply() buffer() coerce() intern()

PROGRAMACION ORIENTADA A OBJETOS


En esta seccin daremos una breve explicacin de la Programacin Orientada a Objetos(POO). La Programacin Orientada a Objetos; como el nombre lo dice es una forma de programar donde todo lo orientamos o convertimos en un objeto. El objeto es algo que contiene atributos y tambin mtodos donde los atributos juegan el papel de variables y los mtodos son funciones; llamndolos as cuando estn dentro del objeto y estos usan los atributos que se encuentran dentro del mismo. El objeto es construido dentro de una clase para que este pueda funcionar como objeto siendo la clase el objeto.

CLASES
class maria: pelo = 'negro' ojos = 'verdes' edad = 20 def cocina(self): return 'cocina muy sabroso' def estudia(self): return 'Estudia informtica en la UPTA' mary = maria() mary.ojos 'verdes' mary.estudia() 'Estudia informatica en la UPTA'

CLASES Y SELF
class nombreCompleto: def crearNombres(self, nombre, apellido): self.nombre = nombre self.apellido = apellido def mostrarNombre(self): return "Mi nombre completo es %s %s" % (self.nombre, self.apellido) def estaPresente(self): print "Si %s %s esta Presente" % (self.nombre, self.apellido)

primero = nombreCompleto() segundo = nombreCompleto() primero.crearNombres('Pedro', 'Perez') segundo.crearNombres('juan', 'Ramirez') primero.mostrarNombre() 'Mi nombre completo es Pedro Perez' segundo.nombre 'juan'

HERENCIA
class papa: nombrePapa = "Antonio" apellidoPapa = "Tovar" class hijo(papa): pass nombreHijo = "Tony" dad = papa() son = hijo() dad.nombrePapa 'Antonio' dad.apellidoPapa 'Tovar' son.nombreHijo 'Tony' son.apellidoPapa 'Tovar'

CONSTRUCTOR
class nuevo: def __init__(self): print "Este es el constructor" print "Este es el ejercicio" def otroMetodo(self): return "Este es el otro metodo" p = nuevo() Este es el constructor Este es el ejercicio p.otroMetodo() 'Este es el otro metodo'

OVERWRITE
class papa: nombrePapa = "Antonio" apellidoPapa = "Tovar" class hijo(papa): nombrePapa = "Antonio Jose" nombreHijo = "Tony" dad = papa() son = hijo() dad.nombrePapa 'Antonio' son.nombrePapa 'Antonio Jose' son.nombreHijo 'Tony' son.apellidoPapa 'Tovar'

POLIMORFISMO
class animal: def __init__(self, nombre): # Constructor self.nombre = nombre def hace(self): # Mtodo Abstracto definido por conveniencia raise NotImplementedError("Las Subclases deben implementar\ mtodos abstractos") class gato(animal): def hace(self): return 'miauuu!' class perro(animal): def hace(self): return 'guao! guaoo!' # IMPLEMENTACION DE LAS CLASES mascotas = [gato('Katy'), perro('Rayo')] for mascota in mascotas: print mascota.nombre + ': ' + mascota.hace()

MUESTRA Katy: miauuu! Rayo: guao! guaoo!

ENCAPSULACION
En Python no existen los modificadores de acceso, y lo que se suele hacer es que el acceso a una variable o funcin viene determinado por su nombre: si el nombre comienza con dos guiones bajos (y no termina tambin con dos guiones bajos) se trata de una variable o funcin privada.

class C: x = 0 __y = 1 def __ta(self): print "Hola Python" def to(self): self.__y self.__ta() c = C() c.to() print c.x

GUI PARA PYTHON


DESKTOP: Boa Constructor Glade WxFormBuilder Iron Python WxGlade WxDesigner WEB FRAMEWORK: Web2py Django Pylons Grok Pylatte
http://boa-constructor.sourceforge.net/

http://glade.gnome.org/ http://wxformbuilder.org/ http://ironpython.net/ http://wxglade.sourceforge.net/ http://www.wxdesigner-software.de/

http://www.web2py.com/ https://www.djangoproject.com/ http://www.pylonsproject.org/ http://grok.zope.org/ http://www.pylatte.org/

BIBLIOGRAFIA

Python para todos


Ral Gonzalez Duque

Aprenda a Pensar Como un Programador con Python


Allen Downey Jeffrey Elkner Chris Meyers

Wikipedia
http://es.wikipedia.org/wiki/Python

ESPERO HAYAN DISFRUTADO DE

HASTA LA PRXIMA !!!

S-ar putea să vă placă și