< Tecnologíasweb />
Víctor R. Ruiz <[email protected]>Tenerife, 17 de noviembre de 2011
jueves 17 de noviembre de 11
Internet
jueves 17 de noviembre de 11
Internet
http://es.wikipedia.org/wiki/Archivo:Internet_map_1024.jpg
jueves 17 de noviembre de 11
Internet• Red de redes global.
• Protocolo abierto: TCP/IP.
• Cada ordenador tiene una dirección (IP).
• Las comunicaciones se realizan por paquetes
• TCP/UDP.
• Protocolos.
• IP/Puerto.
• DNS.
jueves 17 de noviembre de 11
WWW
jueves 17 de noviembre de 11
WWW != Internet
jueves 17 de noviembre de 11
WWW
•Protocolo de comunicación: HTTP
•Formato de contenidos: HTML
jueves 17 de noviembre de 11
WWW
http://es.wikipedia.org/wiki/Archivo:First_Web_Server.jpg
jueves 17 de noviembre de 11
WWW: HTTP
http://es.wikipedia.org/wiki/Hypertext_Transfer_Protocol
jueves 17 de noviembre de 11
WWW: HTML
jueves 17 de noviembre de 11
•Etiquetas
•<div></div>
•Atributos
•<a href=””>linotipo.es</a>
•Hojas de estilo
•JavaScript
WWW: HTML
jueves 17 de noviembre de 11
Formatos de intercambio de datos
jueves 17 de noviembre de 11
CSVValores separados por comas
http://es.wikipedia.org/wiki/CSV
jueves 17 de noviembre de 11
XML
http://es.wikipedia.org/wiki/XML
jueves 17 de noviembre de 11
XML
jueves 17 de noviembre de 11
JSONJavaScript Object Notation
http://es.wikipedia.org/wiki/JSON
jueves 17 de noviembre de 11
Introduccióna Python
jueves 17 de noviembre de 11
Python
http://www.tiraecol.net/modules/comic/
jueves 17 de noviembre de 11
Python
• Lenguaje interpretado.
• Fuertemente tipado.
• Fácil de acceder a librerías en C.
• Prototipado rápido de aplicaciones.
• Muy productivo.
• Librería estándar fácil de usar.
• Lenguaje oficial Google: Python, Java, C++
jueves 17 de noviembre de 11
Python
•En Python no hay corchetes para indicar bloques.
• Los bloques se indican con identación.
jueves 17 de noviembre de 11
Python: Funciones
def nombre_funcion(): ... return
jueves 17 de noviembre de 11
Python: Parámetros
def nombre_funcion(p1, p2): ... return p1
jueves 17 de noviembre de 11
Python: Doc string
def primer_parametro(p1, p2): “”” Esta función devuelve el primer parámetro ””” return p1
jueves 17 de noviembre de 11
Python: print
def imprimir(p1, p2): “”” Imprime los parámetros “”” print p1, p2
imprimir(“a”, “b”)
jueves 17 de noviembre de 11
Python: Formateo print
def imprimir(p1, p2): “”” Imprime los parámetros “”” print “%s - %s” % (p1, p2)
imprimir(“a”, “b”)
jueves 17 de noviembre de 11
Python: if-else
def imprimir_si(valor): “”” Imprime los parámetros “”” if (valor == “a”): print valor else: print “Parámetro no es ‘a’”
imprimir_si(“a”)
jueves 17 de noviembre de 11
Python: Diccionarios
dicc = { ‘peras’: 1, ‘manzanas’: 2 }print dicc[‘a’]
jueves 17 de noviembre de 11
Python: Diccionarios
dicc = { ‘peras’: 1, ‘manzanas’: 2 }print dicc[‘peras’]dicc[‘naranjas’] = 20print dicc[‘naranjas’]
jueves 17 de noviembre de 11
Python: Diccionarios
dicc = { ‘peras’: 1, ‘manzanas’: 2 }print dicc[‘peras’]dicc[‘naranjas’] = 20print dicc[‘naranjas’]
for fruta in dicc: print dicc[fruta]
jueves 17 de noviembre de 11
Python: TuplasListas inmutables
lista = (1, 20, 300, 4000)print lista[0]
jueves 17 de noviembre de 11
lista = (1, 20, 300, 4000)print lista[0] # Primer elementoprint lista[-1] # Último elemento
Python: TuplasListas inmutables
jueves 17 de noviembre de 11
lista = (1, 20, 300, 4000)print lista[0] # Primer elementoprint lista[-1] # Último elemento
# Subconjuntoslista[:2] # Del 1er al 3er elemento
Python: TuplasListas inmutables
jueves 17 de noviembre de 11
lista = (1, 20, 300, 4000)
# Recorrer tuplafor elemento in lista: print elemento
Python: TuplasListas inmutables
jueves 17 de noviembre de 11
lista = [1, 20, 300, 4000]print lista[0]print lista[-1]
# Añadir elementoslista.append(50000)
Python: ListasListas mutables
jueves 17 de noviembre de 11
Python: Librerías
import libfrom lib import objeto
jueves 17 de noviembre de 11
Python: Objetos
class Fruta: def __init__(self, nombre_fruta): “”” Constructor “”” self.nombre = nombre_fruta
def imprimir_nombre(self): print self.nombre
f = Fruta(“manzana”)f.imprimir_nombre()
jueves 17 de noviembre de 11
Python: FicherosModo lectura
# Abrir ficheroleer = open(“nombre.txt”, “r”)
# Imprimir todas las líneaslinea = leer.readline()while (linea): print linea linea = leer.readline()
# Cerrar ficheroescribir.close()
jueves 17 de noviembre de 11
Python: FicherosModo escritura
# Abrir ficheroescribir = open(“fichero.txt”, “w”)
# Escribir contenidolinea = “”escribir.write(linea)
# Cerrar ficheroescribir.close()
jueves 17 de noviembre de 11
Python: SQLiteCrear/Abrir base de datos
# Abrirconn = sqlite3.connect(“bbdd.sql”)cursor = conn.cursor()
# Cerrarcursor.close()
jueves 17 de noviembre de 11
# Abrirconn = sqlite3.connect(“bbdd.sql”)cursor = conn.cursor()
# Crear tablacursor.execute(“””CREATE TABLE usuarios ( usuario TEXT, twitter TEXT, facebook TEXT, plus TEXT)“””)
# Guardar cambiosconn.commit() cursor.close()
Python: SQLiteCrear tablas
jueves 17 de noviembre de 11
# Abrirconn = sqlite3.connect(“bbdd.sql”)cursor = conn.cursor()
# Crear tablacursor.execute(“””INSERT INTO usuarios VALUES ( ‘rvr’, ‘http://twitter.com/vrruiz’, ‘http://facebook.com/vrruiz/’, ‘https://plus.google.com/115241315008695484224/posts’)“””)
# Guardar cambiosconn.commit()
Python: SQLiteInsertar datos
jueves 17 de noviembre de 11
# Abrirconn = sqlite3.connect(“bbdd.sql”)cursor = conn.cursor()
# Consultar datoscursor.execute(“””SELECT * FROM usuarios“””)for usuario in cursor: print usuario
# Cerrar cursorcursor.close()
Python: SQLiteConsultar tablas
jueves 17 de noviembre de 11
Python: HTTP
import urllib2
# Abrir conexión httppagina = urllib2.open(“http://twitter.com/vrruiz”)
# Leer contenidoscontenidos = pagina.read()print contenidos
# Cerrar conexiónpagina.close()
jueves 17 de noviembre de 11
Python: JSON
from simplejson import json
# Codificar estructura de datos a JSONcodificado = json.dumps({‘usuario’ : ‘rvr’ })print codificado
jueves 17 de noviembre de 11
Python: JSON
from simplejson import json
# Decodificar JSON a estructura de datosdecodificado = json.loads(“{ ‘usuario’ : ‘rvr’ }”)print decodificado
jueves 17 de noviembre de 11
Python: Recursos
• Inmersión en Python
•Documentación oficial: Librerías
jueves 17 de noviembre de 11
¡Gracias por su atención!
jueves 17 de noviembre de 11
Contacto
Víctor R. Ruiztwitter.com/vrruiz · rvr.linotipo.es
> Otras presentaciones disponibles en <http://linotipo.es/
jueves 17 de noviembre de 11
Cómo obtener información
en redes socialesVíctor R. Ruiz <[email protected]>
Tenerife, 14-18 de noviembre de 2011
jueves 17 de noviembre de 11
Top Related