CapsuLabs
Introduccin
INTRO A PYTHON
05
Python es un lenguaje de programacin libre interpretado y multiplataforma que destaca sobretodo por agilizar el proceso de codi cacin de algoritmos y por su sintaxis que facilita su aprendizaje. Se trata de un lenguaje de alto nivel orientado a objetos aunque permite el uso de otros paradigmas de programacin (Imperativo y Funcional). Cuenta con una librera estndar completa y se puede extender mediante mdulos y paquetes.
Objetivos
Conocer Python y sus peculiaridades de uso. Generar la capcidad bsica de entender, escribir y ejecutar programas simples.
Sintaxis
Para diferenciar y agrupar bloques de cdigo se utiliza el sangrado. Sigue una estructura lineal donde cada sentencia ha de terminar con una lnea nueva. Sentencias ms largas se pueden enlazar utilizando el carcter (\) y tambin es posible escribir ms de una sentencia por linea separndolas por el carcter (;) Cada sentencia de un bloque de cdigo ha de mantener el mismo sangrado pues en caso contrario Python reporta un error. (IndentationError: unexpected indent) El carcter cardinal (#) denota un comentario sobre el cdigo donde aadir aclaraciones. El cdigo es sensible a las maysculas. Las lineas en blanco son ignoradas por el interprete. >>> a = Esta cadena \ ... en dos lineas >>> if a: ... print a # sentencia con sangra a un tabulador ... else: ... print cadena vacia # sentencias... ... Esta cadena en dos lineas >>> if a: ... print a; print a; ... Esta cadena en dos lineas Esta cadena en dos lineas
Reservadas
and as assert break class continue def del elif else except exec nally for from global if import in is lambda not or pass print raise return try while with yield
Identi cadores
Alfanumricos y underscore (_) __init__ __foo ...
Toman connotaciones distintas dependiendo de los tipos de datos que intervienen.
Operadores
+ << < += &= >> > -= |= * & <= *= ^= ** | >= /= >>= / ^ == %= **= % <>
Delimitadores
( [ { @ ) ] } ` = : ; . , # \
Otros
Not used! $ ?
Hangar Interaction Lab: Lu - Vi / 9h 14h Ju / 18 - 21h Ph: 93 30840 41 ex 28 Alex Posada (electronics): [email protected] / Lluis Gomez (software): [email protected]
Tipos de Datos
Python es un lenguaje de tipi cado dinmico donde cada dato almacenado en un programa se corresponde con un objeto, compuesto este a su vez por identidad, tipo y valor. La identidad de un objeto es un puntero de su localizacin en memora. El tipo del objeto describe su representacin y los metodos y/ operaciones que soportan.
None >>> no=None # se trata de un objeto nulo que devuelve falso >>> print no None >>> type (no) >>> if no is None: print Est vacio ... Esta vacio <type Nonetype> Booleans >>> x=True # True y False son identi cadores interpretados >>> y=False >>> a,b,c = x or y, x and y, not y >>> print a True >>> print b False >>> print c True >>> help (bool) Enteros y Enteros largos >>> n= 17263 # nmero entero: limitado por precisin mquina >>> nl=35698L # nmero entero largo: limitado por memria >>> bin=0b1010 >>> oct=0o7460 >>> hex=0x0CAB >>> print n, nl, bin, oct, hex 17263 35698 10 3888 3243 >>> help (int) >>> help (long)
Nmeros de punto otante y complejos >>> f=172.63 >>> fe=1.7263e+02 >>> c=2.1+4.321J >>> f, fe, c 172.63 172.63 (2.1+4.321J) >>> help ( oat) >>> help (complex) Cadenas (Strings) >>> ca=cadena entre comillas simples\n >>> cc=\cadena entre comillas dobles\n >>> cl=cadena con x comillas simples (x=3)\a \n >>> ce=\escapa una \\ con dos barras\n >>> print ca, cc, ca, cl, ce cadena entre comillas simples cadena entre comillas dobles cadena entre comillas simples cadena con x comillas simpres (x=3) escapa una \ con dos barras >>> help(str) Listas, tuplas y diccionarios >>> ll= [esto es una lista, 3.86, False, de valores] >>> t= (15.3, dato, True) >>> dic={red:0xff0000,green:0f00ff00,blue:0x0000ff} >>> print %s\n%s\n%s\n % (ll,t,dic) [aix\xc3\xb2 \xc3\xa9s una lista, 3.8599999999999999, False, de valores] (15.300000000000001, dato, True) {blue: 255, green: 65280, red: 16711680}
class Pizarra(object): def __init__(self): # constructor self.alto = 3 self.ancho = 6 self.color = blanc self.limpia = True self.contenidos = [] def escribe(self, contenido): self.contenidos.append(contenido) self.limpia = False def borra(self): self.contenidos = [] self.limpia = True def muestra(self): if not self.limpia: print self.contenidos else: def main(): p = Pissarra() print. La pizarra est vaca
Clases
p.escribe(3+2=8) p.muestra() p.escribe(Noo! 5) p.muestra() p.borra() p.muestra()
# Veamos si se ejecuta como programa if __name__ == __main__: main() else: # bien si se importa como mdulo print nada que hacer... pass $ python classe.py [3+2=8] [3+2=8, Noo! 5] La pizarra est vaca >>> type(Pizarra) <type type> >>> p = Pizarra() >>> type(p) <class __main__.Pizarra>
Sentencias de control
Condicionales if, else y elif if expresiones: # sentencias ... pass # no hacer nada elif expresiones: # sentencias ... elif expresiones: # sentencias ... else: # sentencias ... >>> help(if) Bucles e Iteraciones while while expresiones: # sentencias ... while 1: if a == hola: break # salir else: # sentencias ... while expresiones: # sentencias ... else: print Hecho! >>> help while for for i in s: # sentencias ... # s permite listas, tupas y Strings for a,b,c in s: # sentencias ... # cada elemento es tupla de 3 valores for p in pizarras: for cs in p.contenidos: print cs else: print No hay pizarra >>> help (for) Excepciones try, except, else, nally try: # sentencias ... except: IOError, e: print Error de IO, e else: # sentencias no hay except try: nally: # sentencias ...
# sentencias siempre >>> help(exceptions) >>> help(try) >>> help (with)
Hangar Interaction Lab: Lu - Vi / 9h 14h Ju / 18 - 21h Ph: 93 30840 41 ex 28 Alex Posada (electronics): [email protected] / Lluis Gomez (software): [email protected]