Beruflich Dokumente
Kultur Dokumente
Qu es un programa?
Un programa es un conjunto de instrucciones
diseadas para ordenar a la computadora a hacer
algo.
Es similar a una receta de cocina, que consiste en
una lista de ingredientes e instrucciones paso a
paso donde se usan dichos ingredientes.
Primer programa
Cdigo
seq1 = 'Hola'
seq2 = ' mundo!'
total = seq1 + seq2
print total
Resultado
Hola mundo!
Compilacin
Traduccin desde el
cdigo fuente a
instrucciones
ejecutables
Consecuencias de la compilacin
Tiempo de compilacin
Aceleracin en la ejecucin del software
Software dependiente de una plataforma
Paradigmas de programacin
Programacin procedural
Los programas tienen rutinas o funciones con los pasos a seguir.
Beneficios:
Estructurar el cdigo en bloques para reutilizarlos.
Seguimiento de la lgica del programa (sin saltos a posiciones
arbitrarias, aka go to).
POO (OOP)
Se usan objetos para disear los programas. Los objetos
son estructuras de datos que tienen propiedades
(caracteristicas) y mtodos (acciones) que le son propios.
Caracteristicas:
Encapsulacin
Abstraccin de datos
Polimorfismo
Herencia
Caractersticas de Python
Usos de Python
Procesamiento de datos:
Conversin de datos de formato arbitrario (html, txt, etc)
a csv, para usarse en Excel u otros programas.
Soporte para lectura y escritura de csv
Lectura y escritura de XLS (mdulos xlrd, xlwt)
Lectura y escritura de XML (mdulos xml.dom,
xml.etree.ElementTree, xml.sax, xml.dom)
Usos de Python
Acceso a servicios de Internet:
Traer contenido de pginas web (para traer pginas de
manera repetitiva).
Acceso a POP3, IMAP4 FTP, etc.
Lee varios formatos mailbox
Lectura HTML (HTMLparser).
Aplicacin de internet: Bittorrent
www.robotia.com.ar
>>> type(5)
<type 'int'>
>>> type(5.0)
<type 'float'>
>>> type(5 + 5.0)
<type 'float'>
>>> 5 + 5.0
10.0
>>> type(2+3j)
<type 'complex'>
>>> (2+3j).real
2.0
>>> (2+3j).imag
3.0
>>> type('Hola!')
<type 'str'>
>>> 'hola' + ' mundo!'
'hola mundo!'
>>> 'hela' + 2
Traceback (most recent call last):
File "<pyshell#32>", line 1, in <module>
'hela' + 2
TypeError: cannot concatenate 'str' and 'int' objects
>>> 'hela' + str(2)
'hela2'
mi_lista = [1,2,3]
mi_lista.append(5)
mi_lista
2, 3, 5]
mi_lista.pop()
mi_lista
2, 3]
mi_lista + [4]
2, 3, 4]
mi_lista
2, 3]
mi_lista = mi_lista + [4]
mi_lista
2, 3, 4]
mi_lista.extend([5,6])
mi_lista
2, 3, 4, 5, 6]
mi_lista[0]
mi_lista[3]
mi_lista[3:5]
5]
mi_lista[-2]
Ejemplo de diccionario
tom_map = { 1992: { 1:[ ('1A', 8.9), ('1B', 13.6), ('1C', 22.3), ('1D', 60.8), ('1E', 70.4), ('1FG', 93.6), ('1H', 111.7), ('1I', 129.2), ('1J', 10000)], 2:[ ('2A', 1.6), ('2B', 16.2), ('2C',
18.6), ('2D', 22.5), ('2E', 27.6), ('2F', 44.8), ('2G', 68), ('2H', 72.4), ('2I', 76.1), ('2J',
100.5), ('2K', 122.9), ('2L', 10000)], 3:[ ('3A', 24.2), ('3B', 30.4), ('3C', 54.8), ('3D', 61.1),
('3E', 64.4), ('3F', 97), ('3G', 98.4), ('3H', 108), ('3I', 100000)], 4:[ ('4A', 2), ('4B', 6.6),
('4C', 32.9), ('4D', 38), ('4E', 50), ('4F', 58.4), ('4G', 100.5), ('4H', 113.2), ('4I', 10000)],
5:[ ('5A', 4.6), ('5B', 17.2), ('5C', 42.8), ('5D', 44.6), ('5E', 72.7), ('5F', 75), ('5G', 84.9),
('5H', 92.3), ('5I', 10000)], 6:[ ('6A', 25), ('6B', 31.8), ('6C', 42), ('6D', 61.9), ('6E',
69.6), ('6F', 89.6), ('6G', 10000)], 7:[ ('7A', 3), ('7B', 11), ('7C', 21), ('7D', 36.8), ('7E',
52.6), ('7F', 70.6), ('7G', 75.7), ('7H', 10000)], 8:[ ('8A-B', 18.2), ('8C', 20.1), ('8D', 41.1),
('8E', 61.3), ('8F', 80.6), ('8G', 89.1), ('8H', 10000)], 9:[ ('9A', 8.9), ('9B', 22), ('9C',
28.9), ('9D', 39), ('9E', 56.4), ('9F', 57.4), ('9G', 64.2), ('9H', 69.1), ('9I', 79), ('9J',
102.6), ('9K', 10000)], 10:[ ('10A', 12), ('10B', 37.3), ('10C-D', 48.8), ('10E', 64.6), ('10F',
84.1), ('10G', 10000)], 11:[ ('11A', 20.8), ('11B', 32.3), ('11C', 45.4), ('11D', 59.3), ('11E',
79.9), ('11F', 83.3), ('11G', 83.8), ('11H', 10000)], 12:[ ('12A', 13.8), ('12B', 28.2), ('12C',
32.5), ('12D', 41), ('12E', 47.6), ('12F', 67.3), ('12G', 86), ('12H', 91.8), ('12I', 10000)]} ,
2000 :{1:[ ('1A', 19.5), ('1B', 25), ('1C', 31.8), ('1D', 70), ('1E', 92.7), ('1F-G',
127.6), ('1H', 142), ('1I', 163), ('1J', 10000)], 2:[ ('2A', 4), ('2B', 13), ('2C', 16), ('2D-E',
31), ('2F', 45.1), ('2G', 81.2), ('2H', 85), ('2I', 90.1), ('2J', 116.1), ('2K', 143), ('2L',
10000)], 3:[ ('3A', 32), ('3B', 33), ('3C', 71.5), ('3D', 83), ('3E', 85), ('3F', 129), ('3G',
140), ('3H-I', 10000)], 4:[ ('4A-B', 12), ('4C', 46), ('4D', 56), ('4E', 72.5), ('4F', 75), ('4G',
101), ('4H', 124), ('4I', 10000)], 5:[ ('5A', 13.5), ('5B', 30), ('5C', 69), ('5D', 71.1), ('5E',
102), ('5F', 104), ('5G', 110.1), ('5H', 112), ('5I', 10000)], 6:[ ('6A', 33.5), ('6B', 38.6),
('6C', 50), ('6D', 71), ('6E', 81), ('6F', 96), ('6G', 10000)], 7:[ ('7A', 2), ('7B', 7), ('7C',
21.5), ('7D', 45.5), ('7E', 48), ('7F', 72.3), ('7G', 73), ('7H', 10000)], 8:[ ('8A', 2), ('8B',
23.8), ('8C', 30), ('8D', 40), ('8E', 57), ('8F', 68.3), ('8G', 84), ('8H', 10000)], 9:[ ('9A',
4), ('9B', 28), ('9C', 32), ('9D', 35), ('9E', 50.3), ('9F', 53.7), ('9G', 57.5), ('9H', 62),
('9I', 72.5), ('9J', 102), ('9K', 10000)], 10:[ ('10A', 11), ('10B', 43), ('10C-E', 61.5), ('10F',
80), ('10G', 10000)], 11:[ ('11A', 20.5), ('11B', 36.5), ('11C', 49), ('11D', 76), ('11E', 90),
('11F-G', 92), ('11H', 10000)], 12:[ ('12A', 21), ('12B', 32.5), ('12C', 38), ('12D', 55.3),
('12E', 68.5), ('12F-G', 114), ('12H', 117), ('12I', 10000)]}}
>>> rgb=dict([('blue','#0000FF'),('black','#000000'),('red','#FF0000')])
>>> rgb['black']
'#000000'
>>> list(t1)
['sgn1545', 5, 45]
>>> lista = list('Hago 1 lista')
>>> lista
['H', 'a', 'g', 'o', ' ', '1', ' ', 'l', 'i', 's', 't', 'a']
>>> tuple(lista)
('H', 'a', 'g', 'o', ' ', '1', ' ', 'l', 'i', 's', 't', 'a')
>>> str(lista)
"['H', 'a', 'g', 'o', ' ', '1', ' ', 'l', 'i', 's', 't', 'a']"
>>> ''.join(lista)
'Hago una lista'
>>> 'Hago una lista'.split(' ')
['Hago', 'una', 'lista']
if: Condicin
for: Repeticin
while: Repeticin
if
if <expresion1>:
<Instrucciones>
elif <expresion2>:
<Instrucciones>
else:
<Instrucciones>
if coord != 'N/A':
year = int(coord[0][-4:])
for
for <var> in <iterable>:
<instrucciones>
while
while <expresion>:
<instrucciones>
while mi_set:
print mi_set.pop()
import
import
import
import
os.path
urllib2
zipfile
csv
url = 'http://www.genesdigitales.com/curso/table.zip'
fn = os.path.basename(url)
data = urllib2.urlopen(url)
datafile = open(fn,'w')
datafile.write(data.read())
datafile.close()
myfile = zipfile.ZipFile(fn)
unzip_fn = myfile.namelist()[0]
myfile.extractall()
listado = csv.reader(open(unzip_fn))
listado.next()
all_len = []
for line in listado:
all_len.append(int(line[3])-int(line[2]))
print "Promedio: %s"%str(float(sum(all_len))/len(all_len))
www.python.org
www.diveintopython.org
http://openbookproject.net//thinkCSpy/
www.python.org.ar
http://python.org.ar/pyar/Tutorial
www.tinyurl.com/biopython