Upload
guestccc92ad
View
6.067
Download
3
Tags:
Embed Size (px)
Citation preview
Taller de Python
Introduccion a Python
• "Scripting Language"o Interpretadoo Dinamico
"Python Console"
Ejecutando Python:
% pythonPython 2.5.1 (r251:54863, Apr 18 2007, 08:51:08) [MSC v.1310 32 bit (Intel)] onwin32Type "help", "copyright", "credits" or "license" for more information.>>>
"Hello World" en Python
En la consola:
% python>> print "Hello, World!"Hello, World
O en un archivo:
# hello_world.pyprint "Hello, World"
% python hello_world.pyHello, World
Expresiones Matematicas
Las operaciones matematicas funcionan igual que en otros lenguajes:
% python>> 1 + 12>> 1 * 2 + 35>> 2**38
Variables
Las variables en Python no necesitan un tipo como lo es en C++ o en Java. Para declarar un variable solamente excribes el nombre de la variable seguido por un valor:
a = 1000saludo = "Hola"gravedad = -9.81
El interpretador de Python reconocera los tipos de cada variable automaticamente.
Bloques
Un bloque es un grupo de instruciones, por ejemplo un if,un while o una funcion:
if a > b: return a
Los bloques en Python no se indican con corchetes ({ }) como en otros lenguajes, sino por espacios ("Indentation").
if a > b: a = a + b b = b + a return a * b
Bloques (...)
La estructura basica de los bloques:
keyword expression: statement 1 statement 2 ...out_of_the_block_statement
El proximo enunciado que no este a la misma cantidad de espacios del anterior termina el bloque.
Condicionales (if)
if-else:if a < b and c > d: return a + b + c + delse return 0if-elif-else:if a > b: return aelif a < b and b > c return belse: return c
Condicionales (...)
pass:if a > b: return aelse: passImplicit and:if a < b < c: # No se puede en C++ return b
"Loops" (while y for)
while:while a < b: print a b += 1 # No existe b++for:for i in range(100): print i
Funciones
Declaracion de una funcion:
def f(a, b, c): return a + b + c
def hello(): print "Hello"
Llamadas a funciones:
a = f(1, 2, 3)hello()
Clases
Declaracion de un clase:class ClassName: def __init__(self): pass def f(self): passInstanciacion de una clase:c = ClassName()c.f()
Tipos de Datos
Tipos de datos basicos:a = 100 # intb = 80.8 # floatc = "Hello" # stringSequencias:t = (1, 2, 3, 4) # tuplel = [1, 2, 3, 4] # listad = {'a':1, 'b':2, 'c':3} # diccionario
Tipos de Datos (Sequencias)
Tuple - Arreglos immutables:t = (1, 2, 3, 4)Lista - Arreglos mutables":l = [1, 2, 3, 4]Diccionario - Arreglos indexables:d = {'a':1, 'b':2, 'c':3}
Ejemplos
Modulos
• Los modulos en Python son lo que se le conoce como librerias en otros lenguajes.
• Cualquier archivo valido de Python puede ser un modulo.
Modulos (...)
Para utilizar un modulo, este se debe importar de la siguiente manera:
import modulename
Por ejemplo, el siguiente codigo importa el modulo os:
import os
Multiples modulos se pueden importar de la siguiente manera:
import os, sys, Tkinter
"File I/O"
open() - Abre un archivof1 = open( 'filename1.txt', 'w' )f2 = open( 'filename2.txt', 'r' )read() - Lee todo el archivodata = f2.read()write() - Escribe en el archivof2.write(data)Leer un archivo linea por linea:for line in f2: print line
Modulo os
• Encapsula las operaciones basicas del systema operativo como las siguientes:o Creacion y manejo de archivoso Creacion y manejo de directorioso ...
Modulo os (...)
os.listdir() - Enlista todos el contenido de un directorioos.listdir('tmp')os.mkdir() - Crea un directorioos.mkdir( 'my_directory' )os.remove() - Borra un archivoos.remove( 'text.txt' )os.rmdir() - Borra un directorio (si esta vacio)os.rmdir( 'my_directory' )
os.rename() - Cambia el nombre de un archivoos.rename( 'name.txt', 'other.txt' )
Modulo os.path
os.path.exist() - Devuelve cierto si el archivo indicado existeif os.path.exist( 'name.txt' ): print "Ok"os.path.basename() - Devuelve el nombre base de un 'path'print os.path.basename( 'my\folder\1\name.txt' )name.txtos.path.join() - Une a dos o mas 'paths'print os.path.join( 'my\folder', 'is', 'this\name.txt')my\folder\is\this\name.txt
Ejemplos
Programacion Grafica (GUIs)
• Python provee una interface graphica a traves del modulo Tkinter.
• Aunque un poco limitado el modulo Tkinter es muy facil de utilizar y applicaciones con interface graphica se pueden lograr con muy poco esfuerzo
Ejemplos
"Networking"
• Python provee muchas facilidades para trabajar con Networking.
• Los modulos socket y SocketServer se pueden utilizar para crear servidores y aplicaciones cliente muy facilmente.
Ejemplos
THE END
Wait for the sequel...