Académique Documents
Professionnel Documents
Culture Documents
Objetivo
La participacin es fundamental.
2
Volvernos renacentistas!
3
Evaluaciones
http://smtp.iaa.es/mailman/listinfo/pyiaa
Cadenas de texto:
Hola mundo!
Inmutables
48
Strings
>>> nombre = Sara
>>> nombre
Sara
49
Strings
>>> frase = Sara dijo hola!
>>> frase
Sara dijo hola!
50
Strings
Secuencia de escape:
Sara dijo \hola!\
51
Strings
Triple entrecomillado:
Sara dijo hola!
52
Slices
a[index]
Devuelve el index-1 elemento
a = Abstulit qui dedit
a[0] = A
a[6] = i
a[-1] = t
53
El primer elemento
tiene ndice = 0
54
Edsger W. Dijkstra
Why numbering should start at zero (1982)
55
Para representar la secuencia 1, 2, ..., 10
tenemos cuatro posibilidades:
56
a) 1 " i < 11
b) 0 < i " 10
c) 1 " i " 10
d) 0 < i < 11
Tanto a) como b) tienen la ventaja de que la
diferencia entre los lmites del intervalo (11-1 y
10-0) es igual al nmero de elementos de ste
b) nos obliga a utilizar un nmero no natural
(cero) para determinar un intervalo de nmeros
naturales. Poco elegante.
57
Para representar una secuencia de N elementos,
utilizando la nomenclatura a), tenemos dos opciones:
a) 1 " i < N+1
b) 0 " i < N
La opcin b) es ms simple e intuitiva: el lmite superior nos
indica directamente el nmero de elementos en el intervalo
Slices
a[start:end]
Elementos desde start hasta end-1
a = Alea jacta est
a[0:10] = Alea jacta
a[5:10] = jacta
a[5:6] = j
a[5:5] =
58
Slices
a[start:]
Elementos desde start hasta el final
a = Fabricando fit faber
a[12:] = fit faber
a[-5:] = faber
59
Slices
a[:end]
Elementos desde el comienzo hasta end-1
a = In vino veritas
a[:2] = In
a[:8] = In vino
a[:-5] = In vino ve
60
Slices
a[start:end:step]
De start a end de step en step elementos
a = Is fecit, cui prodest
a[::2] = I ei,cipoet
a[:12:3] = Ifi
a[::-1] = tsedorp iuc ,ticef sI
61
Inmutables
>>> nombre = Sara
>>> nombre[0] = M
TypeError: 'str' object
does not support item
assignment
62
Inmutables
>>> nombre = Sara
>>> nombre = Mara
>>> nombre
Mara
63
Concatenacin
>> nombre = Sara
>> nombre = M + nombre[1:]
>> nombre
Mara
64
Subcadenas
>>> ere in sapere aude
True
65
Subcadenas
>>> sapere aude.find(ere)
3
La subcadena existe y empieza en el
elemento 3 (es decir, el cuarto)
66
Subcadenas
>>> flux in et veritas
False
67
Subcadenas
>>> et veritas.find(flux)
-1
La subcadena no existe
68
Tamao
>>> len(victoria aut mors)
17
69
Tamao
>>> comic = V de Vendetta
>>> len(comic)
13
70
Maysculas
>>> hoygan.upper()
HOYGAN
71
Minsculas
>>> vocales = AEIOU
>>> vocales.lower()
aeiou
72
Eliminando espacios
>>> planeta = Saturno
>>> planeta.lstrip()
Saturno
73
Eliminando espacios
>>> lugar = En el Sol
>>> print lugar.rstrip(), hace calor
En el Sol hace calor
74
Eliminando espacios
>>> apellido = Lee
>>> print Bruce, apellido.strip(), Jr.
Bruce Lee Jr.
75
Ejercicios
Manipulacin de cadenas utilizando el intrprete
76
cadena = Cabeza grande, ojos hermosos
1. El tamao de la cadena?
2. Los primeros cinco caracteres de la cadena
3. Los siete ltimos caracteres.
4. De los cinco primeros caracteres, los que ocupan posiciones pares.
5. De los ltimos trece caracteres, los de posiciones impares
6. En mayscula, los caracteres en posiciones mltiplo de tres
7. De dos en dos, del caracter en la posicin 4 al de la 17
8. Est el caracter x en la cadena?
9. Y o, en mayscula o minscula?
Mdulos
(un primer vistazo)
Instrucciones almacenadas
en un fichero y ejecutadas
por el intrprete de Python
77
Mdulos
(un primer vistazo)
x = 4
y = 5
x ** (y + 1)
78
Mdulos
(un primer vistazo)
python fichero.py
El nombre del mdulo es fichero
(sin la extensin .py)
79
Mdulos
(un primer vistazo)
chmod +x fichero.py
Hacemos el fichero ejecutable
80
Mdulos
(un primer vistazo)
#! /usr/bin/env python
Primera lnea del mdulo: especifica que debe utilizarse
Python para ejecutar el cdigo contenido en el fichero
81
Mdulos
(un primer vistazo)
udit-d41:~ vterron$ python ejemplo.py
udit-d41:~ vterron$
82
Mdulos
(un primer vistazo)
udit-d41:~ vterron$ ./ejemplo.py
udit-d41:~ vterron$
83
print
>>> print Abre las puertas, HAL
Abre las puertas, HAL
84
print
>>> print Lo siento,
>>> print Dave
Lo siento,
Dave
85
Aade salto de lnea al final
print
>>> print Me temo que, no puedo
Me temo que no puedo
86
Inserta espacio entre las cadenas mostradas por pantalla
print
>>> x = 2
>>> y = 3
>>> print x, ^, y, =, 2**3
2 ^ 3 = 8
87
Formateo de cadenas
Mutables
93
Listas
>>> v = [1, 2, 3]
>>> v
[1, 2, 3]
94
Listas
>>> v = [1, 2.0, tres]
>>> print v[1]
2.0
95
Listas
>>> v = []
>>> v
[]
96
Asignacin
>>> v = [4, 7, 3, 8]
>>> v[-1] = 0
>>> v
[4, 7, 3, 0]
97
Tamao
>>> v = [1, 2.0, tres]
>>> len(v)
3
98
Insercin
>>> v = [1, 3, 4]
>>> v.append(5)
>>> v
[1, 2, 3, 5]
99
Insercin
>>> v = [1, 3, 4]
>>> v.insert(9, 2)
>>> v
[1, 3, 9, 4]
100
Aade el elemento 9 en la posicin de index = 2
Eliminacin
>>> v = [1, 3, 4]
>>> v.remove(3)
>>> v
[1, 4]
101
Borrado por valor
Eliminacin
>>> v = [9, 5, 8, 5, 9]
>>> del v[3]
>>> v
[9, 5, 8, 9]
102
Borrado por posicin
Bsqueda
>>> v = [7, 0, 7]
>>> 7 in v
True
103
Bsqueda
>>> v = [7, 0, 7]
>>> v.index(7)
0
104
Bsqueda
105
>>> v = [7, 0, 7]
>>> 3 in v
False
Bsqueda
106
>>> v = [7, 0, 7]
>>> 8 not in v
True
Bsqueda
>>> v = [7, 0, 7]
>>> v.index(3)
ValueError: list.index(x): x
not in list
107
Concatenacin
>>> [1, 2, 3] + [9, 8]
[1, 2, 3, 9, 8]
108
Concatenacin
>>> x = [1, 2, 3]
>>> x.append([9, 8])
>>> x
[1, 2, 3, [9, 8]]
109
El cuarto elemento es ahora una lista
Mximo
>>> max([7, 2, 5])
7
110
Mnimo
>>> x = [7, 2, 5]
>>> min(x)
2
111
Sumatorio
>>> sum([7, 2, 5])
14
112
Listas vacas
>>> x = []
>>> len(x)
0
113
Listas vacas
>>> x = []
>>> bool(x)
False
114
Las listas vacas evalan a False
Ejercicios
Manipulacin de listas utilizando el intrprete
115
lista = [primero, 2, 3.5, 4.0, ultimo]
1. El tamao de la lista?
2. El tamao de la lista multiplicado por su segundo elemento
3. El producto del segundo elemento de la lista por el tercero
4. Est 2 en la lista? Y 2.0?
5. Eliminar el primer elemento de la lista
6. Eliminar ahora los dos ltimos elementos simultaneamente
7. Est la lista vaca?
8. Aadir el elemento nuevo ultimo a la lista.
Entrada de datos
raw_input(mensaje)
Monthy Python
CPython
Ponente excepcional:
-
What Makes Python Awesome
-
Transforming Code into Beautiful, Idiomatic Python
-
Python's Class Development Toolkit
Raymond Hettinger
161
Jesse Noller
174
Comentarios