Python PDF
Python PDF
at Ox7fec3dcs8cbo, file "", line
a
Aqui pasan cosas
7 compile()
© Uso Y class complex()
compile(source, filename, mode[, flags[, dont_inherit]])
= © Uso
© Descripcién complex ({real[, imag] ])
Compila el cédigo fuente que se le pasa como parametro, en un formato
ejecutable o en forma de AST. Un AST (Abstract Syntax Tree) es un
diagrama en rbol (en modo texto) que resume la estructura sintactica
© Descripcién
Clase para los mimeros complejos.
del cédigo. © Métodos
Segin el modo de compilacién, el cédigo puede ser ejecutado con la conjugate() retorna el conjugado del mimero complejo.
funeién exec () 0 evaluado con eval ().
El argumento £i1ename deberia contener el nombre del archivo del V delattrd)
que procede el cédigo, pero solo est4 ahi para algunos mensajes de
error y, si el cédigo no procede de ningun archivo, puede ponerse
cadena vacia o un nombre arbitrario (se suele usar el texto ,
entre comillas).
© Uso
delattr (object, name)184 PYTHON. PASO A PASO RAMA
Descripcién
Recibe como argumentos un objeto y cl nombre de un atributo de
ese objeto. Borra el atributo indicado de ese objeto (para la funcién
opuesta, ver setattr(}).
M class dict()
Uso
dict (kwarg)
dict (mapping, kwarg)
dict (iterable, **kwarg)
Descripcién
Crea un diccionario.
Métodos
— clear() borra todos los elementos del diccionario.
— copy |) retorna una copia del diccionario.
— fromkeys (claves [,valores]) crea un diccionario a partir del
iterable con las claves que se le pasan como argumento. Admite
un segundo argumento opcional que se usar para asignar valores.
— get (clave [,defecto}) retorna el valor del diccionario indicado
por la clave que se le pasa como argumento. Si no existe, devuelve
None a menos que se asigne un valor por defecto como segundo
argumento.
— has_key(clave) retorna un valor booleano true si la clave pasada
como argumento existe en el diccionario.
— items () retorna las claves y valores del diccionario en forma de
dos tuplas.
— iteritems() es un iterador que retorna, uno a uno, los pares
(clave, valor) del diccionario.
— iterkeys() es un iterador que retorna, una a una, las claves del
diccionario.
— itervalues() es un iterador que retorna, uno a uno, los valores
del diccionario.
— keys () retorna una lista con las claves del diccionario.
— pop (clave [,defecto} } elimina la clave especificada y retorna el
valor asociado. Si no existe, se genera un error Keyzrror, a menos
que se haya asignado un segundo argumento con el valor a retornar
por defecto.
Apéndice |, FUNCIONES Y CLASES NATIVAS 185,
— popitem() elimina del diccionario y retorna un par (clave, valor)
en forma de tupla. Si el diccionario esta vacio se genera un error
keyError.
— setdefault (clave [,defecto}) retorna el valor del diccionario
indicado por la clave que se le pasa como argumento. Sila clave no
existe, la afiade al diccionario asignandole el valor que se le pasa
como segundo argumento 0 nuit si este no existe.
— update (diccionario) afiade elementos al diccionario a partir de
uno o ms diccionarios que se le pasan como argumento.
— values () retorna una lista con los valores del diccionario.
— viewitems () retorna un objeto tipo set con los pares (clave, valor)
del diccionario.
— viewkeys () retorna un objeto tipo set con las claves del diccionario.
— viewvalues() retorna un objeto tipo set con los valores del
diccionario.
V dir
© Uso
dix ([object])
© Descripcién
Si se le pasa un objeto como pardmetro, retorna una lista con los
atributos de ese objeto ordenados alfabéticamente.
Si no se le pasa ningfin argumento, retornara una lista (ordenada
alfabéticamente) de todas las variables accesibles localmente (ver el
capitulo dedicado a los espacios de nombres).
V enumerated
© Uso
enumerate(sequence, start=0)
© Descripcién
Retora un objeto enumerate. El argumento sequence debe ser
una secuencia (como una lista o una tupla), un iterador (como un
generador) o algin otro tipo de objeto que soporte iteracién.
El objeto enumerate retorna un iterador que, para cada elemento de la
secuencia, contiene una tupla con un nimero y el propio elemento de
la secuencia. El nimero se incrementa en cada elemento, con lo que
actiia como un contador. En el argumento opcional tart se puede
indicar el nimero correspondiente a la primera tupla (por defecto es
cero).186 PYTHON. PASO A PASO RAMA
#1/usr/bin/python
# -*- coding: utf£-8 -*-
lista = ["uno", "dos", "tres", "cuatro"]
enumeracion = enumerate (lista)
print enumeracion
print list (enumeracion)
Salida del programa:
cenumerate object at 0x7£2899¢81780>
((0, ‘uno'), (1, 'dos'), (2, 'tres'), (3, ‘cuatro')]
7 eval()
© Us0
eval (expression[, globals[, locals]])
© Deseripcién
Evaliia la expresién pasada como argumento y retorna el resultado.
EI argumento globals, si se usa, debe ser un diccionario con los
nombres globales. locals puede ser cualquier objeto de tipo mapping
(normalmente otro diccionario).
La expresién pasada como argumento debe ser una cadena que ser
interpretada como cédigo Python, usando globals y locals como
espacios de nombres global y local respectivamente. Si no se pasa
ningiin espacio de nombres se usar el mismo donde se encuentre la
propia funcién eval().
Esta funcién también puede ejecutar un objeto de cédigo como el
generado por compile().
#1/usr/bin/python
# -*- coding: utf-a -*-
instruceion = "5 + 6"
print eval (instruccion)
Salida del programa:
n
Apéndice |, FUNCIONES Y CLASES NATIVAS 187
V execfile()
e Uso
execfile(filename[, globals{, locals] ])
© Descripcién
Interpreta el cédigo contenido en el archivo cuyo nombre se le pasa
como parimetro y retorna el resultado. Los argumentos pasados en
globals y locals son opcionales, y consisten en sendos diccionarios
que seusaran como espacio de nombres global y local respectivamente.
Si no se pasa ningiin espacio de nombres se usard el mismo donde se
encuentre la propia funcién.
M filed
© Uso
file(name{, mode[, buffering] ])
© Deseripcién
Funcién constructora para el tipo £11e. Acepta los mismos argumentos
que la funcién open ().
Es recomendable usar la funcién open () en lugar de £ite().
y filter)
e Uso
filter (function, iterable)
© Descripcién
Recibe una funcién y un iterable como argumentos, y retorna una lista
de elementos a partir del iterable, filtrandolo por medio de la funcién.
Si la funcién retorna un valor True para un elemento del iterable,
este es retomado. Si el iterable es una cadena o una tupla, £i1ter ()
retornard el mismo tipo. En caso contrario retornara una lista.
#1 /usr/bin/python
# -*- coding: utf-8 -*-
def €iltra (dato) :
if dato > 5:
return True
else:
return False
salida = filter (filtra, (1,7,9,3,5,9,10,3,1,4,11])
print salida188 PYTHON. PASO A PASO RAMA
Salida del programa:
(7, 9, 9, 10, 12]
7 class float)
© Uso
float (x)
© Descripcién
Clase para los ntimeros en coma flotante.
© Métodos
— as_integer_ratio() retorna una tupla con un par de nimeros
enteros tales que el primero, dividido por el segundo, dé como
resultado el mimero en coma flotante original.
— fromhex (cadena) crea un nuevo mimero en coma flotante a partir
de una cadena que contenga su representacién hexadecimal.
— hex() retorna una cadena con la representacién hexadecimal del
niimero.
— is_integer() retorna un valor booleano true si el mimero es
entero.
V format()
© Uso
format (value[, format_spec])
© Descripcién
Convierte el argumento value en una representacién “formateada”
segin lo indicado en format_spec. Lo que significa concretamente
que format_spec depende del tipo de value. Esta funcién es usada
por varias funciones de manipulacién de tipos, y no es normal Ilamarla
directamente.
V class frozenset()
Uso
frozenset ([iterable] )
Descripcién
Retorna un objeto frozenset.
Métodos
© RAMA Apéndice |, FUNCIONES Y CLASES NATIVAS 189
— copy () retorna una copia del set.
— difference () retorna un set con los elementos que existen en el
set original, pero no con los que se pasan como argumento.
— intersection() retorna un sef con los elementos comunes que
existen en ambos.
— isdisjoint() retorna un valor booleano true si dos sets no
contienen ningin elemento comin.
— iseubset () retorna un valor booleano true si el set pasado como
argumento contiene al set original.
— issuperset () retorna un valor booleano true si el set original
contiene al set pasado como argumento.
— symmetric_difference() retorna un set con los elementos que
existen en uno u otro de ellos, pero no en ambos.
— union () retorna un set con la unién de este y de los que se le pasan
como parametros.
Vy getattrd)
© Uso
getattr(object, name[, default])
© Descripcién
Retorna el valor del atributo indicado en name del objeto object.
Admite un argumento default que contenga el valor retornado si el
atributo no existe.
F globals()
© Uso
globals()
© Descripcién
Retorna un diccionario con la actual tabla de simbolos globales.
V hasattr0,
© Uso
hasattr (object, name)190 PYTHON. PASO A PASO RAMA © RAMA Apéndice |, FUNCIONES ¥ CLASES NATIVAS 191
© Descripcién 7 input)
Retorna un valor true si la cadena pasada en el argumento name es el
nombre de un atributo perteneciente al objeto object y valse si no
los.
© Uso
input ( [prompt] }
© Descripcién
7 hash0) Muestra el texto que se le pasa como argumento (si lo hay) y espera
una entrada del teclado. Esta entrada consistiré en todo lo que teclee
© Uso
cl usuario hasta que pulse la tecla ENTER (sin contar la propia tecla
hash (object)
° ENTER).
© Deseripeién ; EL intérprete espera que la entrada sca en lenguaje Python
Retorna un entero con el valor hash de un objeto, si es que lo tiene. Se sintécticamente valido, y trataré de evaluarla (si est entre comillas,
suele usar para comparaciones rapidas entre claves de diccionarios. Jo considerard una cadena; si es un texto sin comillas, buscaré una
Tguales valores numéricos siempre ‘tienen el. mismo hash, incluso’ st variable de ese nombre; si es un néimero, lo interpretaré como tal; si
son tipos distintos (como 1 y 1.0). es una sentencia, tratard de ejecutarla, etc.). Retorna el resultado de
evaluar la expresién.
7 help, Es equivalente a eval (raw_input (prompt) ).
© Uso El uso de esta funcién es bastante limitado y, normalmente, la funcién
help ( {object} raw_dnput () es mas adecuada,
© Descripcién
Invoca al sistema de ayuda de Python. 7 class int()
Si se llama sin el argumento se iniciara en modo interactivo. Si se le © Uso
pasa una cadena como argumento buscar ese concepto y, si es posible, the (eo)
mostrar un texto con informacién. Esta funcién puede usarse en un feeGe, Baaeetey
script, pero esta principalmente concebida para su uso interactivo.
© Descripcién
7 hex() Clase para los ntimeros enteros.
© Uso © Métodos
hex (30) — bit_length () retornael mimero de bits necesarios para representar
el mimero.
© Descripcién
Convierte un mimero entero en una cadena conteniendo ese mismo
mimero en formato hexadecimal. V isinstance()
© Uso
Vv idQ isinstance (object, classinfo)
© Uso © Descripcién
ta(onject) Retorna un valor True si el objeto pasado como argumento es una
© Descripeién instancia de la clase indicada o de una subclase de esta.
Retorna el identificador (id) del objeto (cl nombre interno por el que
se referencia a ese objeto) que se pasa como pardmetro. Consiste en V issubclass()
un entero 0 entero largo que es tinico para ese objeto. Si, por ejemplo, « be
dos variables referencian a un mismo objeto, tendrén el mismo
identificador issubclass(class, classinfo)192 PYTHON. PASO A PASO RAMA
© Descripcién
Retorna un valor true si la clase pasada como primer argumento es
una instancia de la clase indicada en el segundo o de una subclase de
esta.
T iter
© Uso
iter(o[, sentinel])
© Descripcién
Acepta un iterable como argumento y retorna un iterador.
7 lenQ)
© Uso
len()
© Descripcién
Retorna la longitud de una secuencia o coleccién. Se define “longitud”
como el nimero de elementos de esa secuencia (cadenas, tuplas, listas,
rangos o bytes) 0 coleccién (diccionarios, sets, 0 frozensets).
M class list()
© Uso
List ([iterable])
© Descripcién
Retorna una lista con los elementos de iterabie.
© Métodos
— append (elemento) agrega un nuevo elemento al final de la lista.
— count (elemento) retoma el mimero de veces que aparece el
elemento indicado en la lista.
— extend (secuencia) afiade los elementos de la secuencia indicada
(por ejemplo, otra lista o tupla) a la lista.
— index (elemento) retorna el indice de la primera aparicién en la
lista del elemento indicado. Se genera un error valuezrror si el
elemento no se encuentra.
— insert (posicién, elemento) inserta el objeto en la posicién de
Ja lista indicada.
— pop (elemento) elimina y retorna el elemento de la lista indicado.
Sino se indica ninguno, usa el ditimo de la lista.
Apéndice |, FUNCIONES Y CLASES NATIVAS 193,
— remove (elemento) elimina el elemento indicado de la lista.
— reverse () invierte el orden de los elementos de la lista.
— sort () ordena los elementos de la lista. Si se le pasa una funcion
como parametro, usara esa funcién como criterio de ordenacién.
F locals()
© Uso
locals ()
© Descripcién
Actualiza y retorna un diccionario con Ia actual tabla de simbolos
locales.
M class long()
© Uso
tong (x-0)
tong (x, base-i0)
© Descripcién
Clase para los mimeros enteros largos.
© Métodos
— bit_length () retornael mimero de bits necesarios para representar
el mimero.
Vy mapo
© Uso
map (function, iterable, ...)
© Descripcién
Aplica la funcién que se le pasa como argumento a cada elemento
del iterable, y retorna una lista con los resultados. Si se le pasa mas
de un iterable, la funcién procesara simulténeamente un elemento de
cada uno de los iterables. Para ello, ldgicamente, debe admitir tantos
argumentos como iterables se le pasen a map (). Si un iterable tiene
menos elementos, se asumir que el resto contiene el valor None.
Si la funcién retorna mas de un resultado, map () retornard una lista
de tuplas con tantos elementos por tupla como resultados retorne la
funcién.194 PYTHON. PASO A PASO RAMA
#1 /usr/bin/python
# -*- coding: utf-8 -*-
def filtra(a, b):
return a +b
salida = map(filtra, [1,2,3], [10,20,30])
print salida
Salida del programa:
[11, 22, 33]
7 max()
© Uso
max(iterable[, key])
max(argl, arg2, *args[, key])
© Descripcién
Retorna el mayor elemento de entre los de un iterable o de entre los
provistos en dos o mas argumentos.
En el argumento opcional key se puede indicar una fancién que actiie
como comparador.
¥ memoryviewQ,
© Uso
memoryview (obj)
© Descripcién
Retorna un objeto memoryview (un buffer de memoria de solo lectura
de la API de C) a partir del argumento.
Vy ming
@ Uso
min(iterable[, key])
min(argl, arg2, *argsi, key])
© Descripcién
Retorna el menor elemento de entre los de un iterable o de entre los
provistos en dos o mas argumentos.
En el argumento opcional key se puede indicar una fancién que actiie
como comparador.
Apéndice |, FUNCIONES Y CLASES NATIVAS 195,
7 next)
e Uso
next (iterator [, default])
© Descripcién
© Uso
abs (x)
© Descripcién
Retorna el siguiente elemento del iterador que se le pasa como
pardmetro. El argumento opcional default contiene lo que se
retornaré por defecto si el iterador no contiene mas elementos.
F class object)
© Uso
object ()
© Descripcién
Clase base para todos los objetos New Style. Si uno de estos objetos
no tiene superclase, su superclase es object.
F oct)
e Uso
oct (x)
© Deseripcién
Convierte un entero en una cadena con su valor en base octal.
V opend)
© Uso
open (name, mode[, buffering] ])
© Descripcién
Abre el fichero cuyo nombre se le pasa como pardmetro y retorna un
objeto £i1e, El argumento mode debe ser una cadena que indique el
modo en el que se abre el fichero:
"r": lectura (valor por defecto) .
"w" escritura (si el archivo ya existe se sobrescribiré
su contenido) .
"a" escritura (si el archivo ya existe se afiadira el
nuevo contenido al final de este).196 PYTHON. PASO A PASO RAMA
Por defecto, el fichero se abriré en modo texto, adaptando los retornos
de carro a la plataforma. Para abrir el fichero en modo binario se debe
agregar “b” al cardcter del modo, con lo que quedarian respectivamente
asi: “rb”, “wb” y “ab”.
Para abrir el archivo como lectura y escritura se debe usar “r+” en
modo texto 0 “r+b” en modo binario.
El argumento opcional buffering especifica cl tamaiio de buffer del
fichero deseado: 0 significa sin buffer, 1 significa linea a linea y otros
valores indican le tamaiio del buffer en bytes.
Fy ord,
© Uso
ord(c)
© Descripcién
Recibe como pardmetro una cadena conteniendo un solo caracter,
y retorna un entero con el cédigo Unicode correspondiente a ese
caracter. Si el cardcter es de 8 bits retornaré su valor ASCTI.
Es la funcién inversa de chr () para caracteres de 8 bits y de unichr ()
para caracteres Unicode.
Vy pow0
© Uso
pow(x, y[, z])
© Descripcién
Retorna el mimero contenido en el primer argumento elevado al del
segundo argumento. Si hay un tercero, se usa como médulo.
V range()
© Uso
range (stop)
vange(start, stop[, step])
© Descripcién
Retorna una lista de mimeros en progresién aritmética.
© RAMA
Apéndice |, FUNCIONES Y CLASES NATIVAS 197
Acepta de uno a tres néimeros enteros como argumentos. Si solo se
le pasa un argumento, este ser el mimero en el que se detiene la
progresi6n (sin incluir el propio mimero) y la progresién comenzara
desde cero. Si se pasan dos enteros como argumentos, el primero de
ellos sera el nimero desde el que se empieza y el segundo el final (de
nuevo, no incluido). Si se le pasa un tercer argumento, este seré la cifra
en la que se incrementa el valor de cada elemento de la progresién.
Su principal uso es como contador en bucles.
V raw_input()
e Uso
raw_input ( [prompt] }
© Descripcién
Muestra el texto que se le pasa como argumento (si lo hay) y espera
una entrada del teclado. Esta entrada consistiré en todo lo que teclee
cl usuario hasta que pulse la tecla ENTER (sin contar la propia tecla
ENTER). Retorna una cadena con el texto introducido.
#1/usr/bin/python
# -*- coding: utf-a -*-
nombre = raw_input("Escribe tu nombre: ")
print "Hola " + nombre
Salida del programa:
Escribe tu nombre: Bruce Wayne
Hola Bruce Wayne
reduce()
© Uso
veduce(function, iterable{, initializer])
© Descripcién
Aplica la funcién pasada como primer argumento (que debe aceptar
dos pardmetros y retornar un resultado) acumulativamente de
izquierda a derecha a los elementos del iterable, hasta que quede un
solo resultado, que ser el que se retorne. Es decir, primero se aplica
a los dos primeros elementos, luego al resultado de esto y al segundo
elemento, después al resultado de esta segunda reduccién y al tercero,
etc. Si en el iterable hay un solo elemento, reduce () retornard ese
elemento.198 PYTHON. PASO A PASO RAMA
Si existe el argumento initializer, este se usaré como primer
elemento.
#1 /usr/bin/python
# -*- coding: utf-8 -*-
def concatena(a, b):
return a+ "-" 4b
salida = reduce (concatena, ["1","2","3","4","5"])
print salida
Salida del programa:
1-2-3-4-5
7 reload()
© Uso
reload (module)
© Descripcién
Vuelve a cargar el médulo que se pasa como argumento, que debe
haber sido importado previamente.
Vy repro)
© Uso
repr (object)
© Descripcién
Retorna una cadena con la representacién textual del objeto pasado
como argumento (cl mismo efecto se produce usando las comillas
invertidas “"”).
#1 /usr/bin/python
# -*- coding: utf-8 -*-
lista = ["uno", "dos"]
print “lista~
print repr (lista)
print repr (raw_input)
Apéndice |, FUNCIONES Y CLASES NATIVAS 199
Salida del programa:
['uno', ‘dos']
['uno', ‘dos']
V reversed()
© Uso
reversed (seq)
© Descripcién
Retorna un iterador con el contenido de la secuencia seq invertida.
seq debe ser un objeto con un método _reversed_() (como, por
ejemplo, una lista).
#1/usr/bin/python
# -*- coding: utf-8 -*-
lista = ["uno", "dos", "tres"]
for x in reversed(lista):
print x
Salida del programa:
tres
dos
7 roundQ
© Uso
xound(number[, ndigits))
© Descripcién
Retorna un mimero en coma flotante con el mimero pasado como
argumento, con la parte decimal redondeada al mimero de digitos
indicado en naigits (0 sin decimales, por defecto)..
7 class set()
© Uso
set ([iterable])
© Descripcién
Retorna un objeto set.200 PYTHON. PASO A PASO RAMA
© Métodos
add() afiade un elemento al set.
*clear () elimina todos los elementos del set.
copy () retorna una copia del set.
difference () retorna un set con los elementos que existen en el
set original, pero no con los que se pasan como argumento.
difference update() actualiza el set con los elementos que
existan en él pero no con los que se pasan como argumento.
discard (...) elimina un elemento del set. Sino existe, no ocurre
nada.
intersection() retorna un sef con los elementos comunes que
existen en ambos.
intersection update() actualiza el set con los elementos
comunes que existen en ambos.
isdisjoint () retorna un valor booleano true si dos sets no
contienen ningiin elemento comin.
iseubset () retornaun valor booleano True si el set pasado como
argumento contiene al set original.
iseuperset () retorna un valor booleano true si el set original
contiene al set pasado como argumento.
pop() elimina y retorna un elemento del set. En caso de que no
exista, se genera un KeyError.
remove () elimina un elemento del set. En caso de que no exista,
se genera un KeyBrrox.
symmetric difference () retorna un sef con los elementos que
existen en uno u otro de ellos, pero no en ambos.
symmetric difference update() actualiza el set con los
elementos que existen en uno u otro de ellos, pero no en ambos.
union() retorna un sef con la unin de este y de los que se le pasan
como parametros.
update () actualiza el set con la unién de este y de los que se le
pasan como pardmetros.
M setattr()
e Uso
setattr(object, name, value)
Apéndice | FUNCIONES ¥ CLASES NATIVAS 201
© Descripcién
Asigna al atributo de nombre name del objeto objet el valor value. Si
el atributo no existe, se crea con ese nombre.
Es la funcién opuesta a delattr().
V class slice()
© Uso
slice (stop)
slice(start, stop[, step])
© Descripcién
Retorna un objeto slice, que extiende la funcionalidad de los slices
de secuencias.
F sorted)
e Uso
sorted(iterable[, cmp[, key[, reverse]]])
Descripcién
Retorna una lista ordenada con los elementos del iterable que se pasa
como argumento.
En el argumento opcional cmp se puede asignar una funcién que sirva
para el ordenamiento. Esta funcién debe aceptar dos argumentos (los
elementos a comparar) y retornar un valor positivo, cero 0 negativo
si el primer elemento es mayor, igual 0 menor que el segundo,
respectivamente.
El argumento key puede usarse para asignar una funcién que acepte
un solo argumento y que retorne la clave de comparacién para cada
elemento.
reverse es un valor booleano. Si es true los elementos serin
devueltos en orden inverso.
Y staticmethodQ,
e Uso
staticmethod (function)
© Descripcién
Retorna un método estatico para la funcién function.
Un método estitico es el que no recibe un primer pardmetro por
defecto, ni de clase (class) ni de objeto (self).202 PYTHON. PASO A PASO RAMA
@staticmethod se usa como un decorador.
#1 /usx/bin/python
# -*- coding: utf-8 -*-
class MiClase:
@staticmethod
def metodo (entrada) :
return entrada
objeto = MiClase
print objeto.metodo(5)
Salida del programa:
5
De este modo, el método no recibe se1£ como primer parémetro.
7 class str)
Uso
str(object='')
Descripcién
Retorna una cadena con una representacién del objeto que se le pasa
como argumento.
Métodos
— capitalize () retorna una copia de la cadena con la primera letra,
en mayiscula.
— center (ancho{, careacter_de_espacio]) retorna la cadena
ampliada al ancho especificado en ancho; el espacio sobrante se
rellena por ambos lados con espacios en blanco o, si se proporciona,
con el caracter indicado en el atributo opcional careacter_de_
espacio.
— count (subcadena[, inicio[, fin]]) retorna un entero con el
néimero de veces que aparece subcadena contenido en la cadena.
Opcionalmente, se puede afiadir el principio y el fin del segmento
de la cadena donde se buscaré (usando el mismo formato que para
el slicing).
— decode ({codificacién[,errores]]) decodifica la cadena
usando la codificacién indicada en el primer argumento. Si no se
Apéndice |, FUNCIONES Y CLASES NATIVAS 203,
indica ninguna, se usard la codificacién por defecto del sistema. El
segundo puede ser usado para indicar el tipo de mensajes de error
que se quiere recibir cuando un cardcter no es reconocido, y puede
ser uno de los siguientes:
e “strict” devolvera un valuekrror. Es la opcién por defecto si
no se indica nada.
© “ignore” ignorard el cardcter y continuara por el siguiente.
© “replace” usard un cardcter de reemplazo.
La (muy extensa) lista de codificaciones posibles puede encontrarse
en esta direccién: _hitps://docs.python.org/2/library/codecs.
himltistandard-encodings.
encode ({codificacién[,errores]]) decodifica la cadena
usando la codificacién indicada en el primer argumento. Si no se
indica ninguna, se usard la codificacién por defecto del sistema. El
segundo puede ser usado para indicar el tipo de mensajes de error
que se quiere recibir cuando un cardcter no es reconocido, y puede
ser uno de los siguientes:
@ “strict” devolvera un UnicodeEncodezrror. Es la opcién por
defecto si no se indica nada.
© “ignore” ignorard el cardcter y continuara por el siguiente.
© “replace” usard un cardcter de reemplazo.
La (muy extensa) lista de codificaciones posibles puede encontrarse
en esta direccién: _hitps://docs.python.org/2/library/codecs.
himltistandard-encodings.
endswith(final[, inicio[, £in]]) retorna un valor booleano
true si la cadena termina con la cadena indicada en final (que
también puede ser una tupla de cadenas) y un valor raise si no lo
hace. Se puede indicar opcionalmente el inicio y fin de la posicién
en la que se comparara.
expandtabs ({tamafio)) retorna una copia de la cadena donde
todos los caracteres “tabulador” han sido convertidos a series de
espacios. El atributo opcional indica el nimero de espacios que se
usardn; si no se provee, se usar 8 como valor por defecto.
find(subcadena[, inicio[, fin]]) retorna el indice de
la primera aparicién en la cadena de la subcadena indicada.
Opcionalmente, se puede afiadir el principio y el fin del segmento204 PYTHON. PASO A PASO RAMA
de la cadena donde se buscaré (usando el mismo formato que para
el slicing). Si la subcadena no aparece, retorna -1.
format (targs, **kwargs) retorna una version formateada de la
cadena, usando sustituciones, identificadas por Haves ({}), que se
asignen en los argumentos args y kwargs.
index(subcadena[, inicio[, fin]]) tiene el mismo uso que
find (), pero retorna un error Valuesrror si la subcadena no es
encontrada.
isalnum() retorna un valor booleano True si todos los caracteres
de la cadena son alfabéticos. En caso contrario, retorna Falso.
isdigit () retorna un valor booleano true si todos los caracteres
de la cadena son numéricos. En caso contrario, retorna Falso.
islower() retorna un valor booleano True si todos los caracteres
de la cadena estan en minisculas. En caso contrario, retorna Falso.
isspace () retorna un valor booleano true si todos los caracteres
de la cadena son espacios en blanco. En caso contrario, retoma
Falso.
istitle() retorna un valor booleano True si las palabras de la
cadena estan escritas en mimisculas, salvo la primera letra de cada
palabra, que debe estar en maytisculas. En caso contrario, retorna
Falso.
isupper () retorna un valor booleano True si todos los caracteres
de la cadena estan en maytsculas. En caso contrario, retorna Falso.
join(iterable) usa la cadena como separador para concatenar
las cadenas contenidas en el iterable que se le proporciona.
ljust (ancho[, careacter_de_espacio]) retorna la cadena
ampliada al ancho especificado en ancho. El espacio sobrante se
rellena por la derecha con espacios en blanco o, si se proporciona,
con el cardcter indicado en el atributo opcional careacter_de_
espacio.
lower () retorna una copia de la cadena en mintsculas.
Apéndice |, FUNCIONES Y CLASES NATIVAS 205,
istrip() retorna una copia de la cadena a la que se le han
eliminado todos los espacios en blanco del principio. Si se le aporta
otro cardcter como argumento, eliminard ese en lugar del espacio.
partition (separador) busca la cadena indicada en separador
y retorna una tupla con la forma (“principio de la cadena”,
“separador”, “fin de la cadena”). Si el separador aparece mas de
una vez, se cortard por la primera empezando por la izquierda.
Si no encuentra el separador, tanto el principio como el final que
retorna seran cadenas vacfas (pero si retornard el separador).
replace (original, reemplazo[, contador]) retorna una
copia de la cadena con todas las apariciones de la cadena aportada
en original reemplazadas por la cadena reemplazo. Admite
un tercer argumento opcional contador que indica el mimero
maximo de sustituciones que se haran.
xfind(subcadena[, inicio[, fin]]) actia igual que find,
pero empieza a buscar por la derecha.
xindex(subcadena[, inicio[, fin]]) tiene cl mismo uso que
y£ind (), pero retorna un error ValueBrror si la subcadena no es
encontrada.
xjust(ancho[, careacter_de_espacio]) retorna la cadena
ampliada al ancho especificado en ancho; el espacio sobrante se
rellena por la izquierda con espacios en blanco o, si se proporciona,
con el cardcter indicado en el atributo opcional careacter_de_
espacio.
xpartition(separador) busca la cadena indicada en separador
y retorna una tupla con la forma (“principio de la cadena”,
“separador”, “fin de la cadena”). Si el separador aparece mas de
una vez, se cortard por la primera empezando por la derecha.
Si no encuentra el separador, tanto el principio como el final que
retorna serdn cadenas vacias (pero si retornard el separador).
replit({separador [,méximo]]) retorna una lista de cadenas,
producto de dividir de derecha a izquierda la cadena usando como
delimitador los espacios en blanco o, si se le proporciona, usando
la cadena contenida en separador. Opcionalmente, se le puede
dar el nimero maximo de elementos que tendré esa lista.
retrip() retorma una copia de la cadena a la que se le han
eliminado todos los espacios en blanco del final. Si se le aporta
otro cardcter como argumento, climinard ese en lugar del espacio.208 PYTHON. PASO A PASO RAMA
— split ([separador [,méximo]]) retorna una lista de cadenas,
producto de dividir de izquierda a derecha la cadena usando como
delimitador los espacios en blanco 0, si se le proporciona, usando
la cadena contenida en separador. Opcionalmente, se le puede
dar el nimero maximo de elementos que tendré esa lista.
— splitiines() retorna una lista con cada una de las lineas
contenidas en la cadena.
— startswith(inicio[, iniciol[, fin]]) retorna un valor
booleano true si la cadena comienza con la cadena indicada en
inicio (que también puede ser una tupla de cadenas) y un valor
False sino lo hace. Se puede indicar opcionalmente el inicio y fin
de la posicién en la que se comparara.
— strip () retorna una copia de la cadena a la que se le han climinado
todos los espacios en blanco del principio. Si se le aporta otro
cardcter como argumento, climinard ese en lugar del espacio.
= swapcase () retorna una copia de la cadena con todas las mimisculas
en mayisculas y viceversa.
— title () retorna una copia de la cadena en mimisculas, pero con la
primera letra de cada palabra en mayaisculas.
— translate(tabla [,borrar]) devuelve una copia de la cadena
con los caracteres mapeados a través de la tabla de traduccién
asignada en tabia. Los caracteres que se incluyan en el argumento
opcional borrar serin eliminados. Se puede asignar el valor None
a la tabla en el primer argumento para simplemente borrar los
caracteres deseados con el segundo argumento.
La tabla de traduccién debe ser una cadena de 256 caracteres, y puede
ser creada mediante la funcién maketrans () del médulo string.
— upper () retorna una copia de la cadena en maytsculas.
= zfill(ancho) amplia una cadena numérica hasta el tamafio
indicado en ancho, y rellena el espacio restante con ceros a la
izquierda.
Vy sumo
e Uso
sum(iterable[, start])
© Descripcién
‘Suma los elementos del iterable pasado como pardmetro, comenzando
por la posicién indicada en el argumento opcional start (0 por el
primer elemento, si este no existe).
© RAMA
Apéndice |, FUNCIONES Y CLASES NATIVAS 207
7 tupled
Uso
tuple ([iterable] )
Descripcién
Retorna una tupla a partir de los elementos del iterable que se le pasa
como pardmetro y en ese mismo orden.
Métodos
— count (valor) cuenta el mimero de apariciones en la tupla del
valor que se le pasa como parametro.
— index (elemento) retorna el indice de la primera aparicién en la
tupla del elemento indicado. Genera un error valueError sino se
encuentra.
M class type)
Uso
type (object)
type(name, bases, dict)
Deseripcion
Con un argumento, retorna el tipo de un objeto.
Con tres argumentos, retorna un objeto de nuevo tipo.
V unichr()
Uso
unichr (i)
Descripcién
Retorna una cadena Unicode conteniendo el cardcter cuyo cédigo
corresponde al entero que se le pasa como argumento. Es la funcién
inversa de ora().
7 unicode,
Uso
unicode (object="')
unicode (object [, encoding[, errors]])
Descripcién
Retorna una cadena Unicode a partir del objeto pasado como atributo
(normalmente una cadena).
Métodos
Los mismos que los de las cadenas (ver str).208 PYTHON. PASO A PASO RAMA
Vy vars()
e Uso
vars ([object])
© Descripcién
Retoma el atributo __dict__ de un médulo, clase, instancia u otro
objeto que tenga un atributo dict. Ese atributo contiene el
diccionario de nombres del objeto, clase, etc.
F xrange()
e Uso
xrange (stop)
xrange(start, stop[, step])
© Descripcién
Esta funcién actia igual que range (), pero retorna un objeto range (un
generador) en lugar de una lista de mimeros en progresién aritmética.
‘Acepta de uno a tres néimeros enteros como argumentos. Si solo se
le pasa un argumento, este seri el nimero en el que se detiene la
progresién (sin incluir el propio mimero) y la progresién comenzara
desde cero. Si se pasan dos enteros como argumentos, el primero de
ellos sera el ntimero desde el que se empieza y el segundo el final (de
nuevo, no inchuido). Si se le pasa un tercer argumento, este la cantidad
en el que se incrementa el valor de cada elemento de la progresién.
#1 /usr/bin/python
# -*- coding: utf-8 -*-
for i in xrange(2, 20, 2):
print 4
Salida del programa:
12
14
16
18
Apéndice |, FUNCIONES Y CLASES NATIVAS 209
y zip)
e Uso
zip({iterable, ..]) (x)
© Descripcién
Acepta uno o mis iterables como atributos, y retorna una lista formada
por tuplas que contienen los elementos de esos iterables. La primera
tupla contendré el primer elemento de cada iterable, la segunda el
segundo, ete.
La longitud de la lista final ser la del iterable mas corto.SYNAPS PREMIUM
Apéndice l|
MODULOS DE LA LIBRERIA ESTANDAR DE
PYTHON
Este es un listado alfabético de los médulos contenidos en la libreria estindar
de Python.
Hay una lista actualizada y detallada (aunque en inglés) en la pagina oficial
de Python: hitps://docs.python.org/2/library/.
Para obtener informacién detallada sobre cada uno de los médulos y las
funciones, variables y objetos que contienen, se puede usar el programa pydoc (que
también es un médulo de la librerfa estandar de Python), escribiendo la orden pydoc
nombre_del_médulo en la linea de comandos.
y builtin: médulo con las funciones nativas, se importa
autométicamente.
__¢uture_: permite importar funcionalidades del lenguaje que no estan
presentes en la versién actual.
_main_: el espacio de nombres del médulo principal.
Y winreg (Windows): herramientas para manipular el registro de
‘Windows.212 PYTHON. PASO A PASO RAMA
i i |
NWUUUU Ut
NX
A
abe: clases base abstractas.
aifc: herramientas para manipular archivos de audio AIFF y AIFC.
anydbn: interfaz genérica para DBM-style database modules.
argparse: herramientas para la linea de comandos y argumentos.
array: optimiza arrays de tipos numéricos.
ast: manipulacién de Abstract Syntax Tree (Arboles de sintaxis).
asynchat: soporte para protocolos asincronos.
asyncore: clase base para manipular sockets asincronos.
atexit: register and execute cleanup functions.
audicop: herramientas para manipular audio raw.
B
base64: RFC 3548: Base16, Base32, Base64 Data Encodings.
BaseHTTPserver: servidor HTTP basico (clase base para SimpleHTTPServer y
CGIHTTPServer).
bab: debugger.
binaseii: herramientas para convertir entre varios formatos ASCII y binarios.
binhex: herramientas para manipular archivos en formato binhex4.
bisect: algoritmos de biseccién para busqueda binaria.
bed
: interfaz para bases de datos Berkeley DB.
bz2: interfaz para rutinas de compresién y descompresién compatibles con bzip2.
Cc
calendar: herramientas para trabajar con calendarios.
Yogi: herramientas para usar la interfaz CGI con Python.
ceturrrserver: controlador para servidores HTTP que pueden ejecutar scripts
CGI.
egith: trazador configurable para scripts CGI.
© RAMA ‘Apéndice ll. MODULOS DE LA LIBRERIA ESTANDAR DE PYTHON 213
bi
NU UY
chunk: médulo para leer bloques de datos IFF.
cmath: funciones matematicas para mimeros complejos.
cond: herramientas para intérpretes de comandos.
code: utilidades para implementar REPL.
codecs: codificar y decodificar datos y flujos.
codeop: compilar cédigo Python.
collections: tipos de datos de alto rendimiento.
colorsys: conversién entre RGB y otros sistemas de color.
compileal1: herramientas para compilar en bytecode todos los archivos Python
en un drbol de directorios.
configParser: intérprete de archivos de configuracién.
context1ib: utilidades para la sentencia with con contexto.
Cookie: soporte para cookies.
cookie1b: clases para la manipulacién automitica de cookies.
copy: operaciones de copia.
copy_reg: operaciones con copias serializadas con pikle.
ePickle: version rapida de pickle, pero no subclasable.
cProfile: interfaz para el profiler ‘Isprof.
crypt (Unix): funcién crypt() de UNIX, para encriptar contrasefias.
eStringr!
ersién de StringIO, rapida pero no subclasable.
csv: manejo de archivos CSV.
ctypes: manejo de tipos de datos de C en Python.
curses (Unix): creacién de interfaces giaficas en modo texto.
D
datetime: fecha y hora.
dbhash: interfaz para BSD database library.
dbm (Unix): interfaz con dbm.
decimal: implementacién de la General Decimal Arithmetic Specification.21d PYTHON. PASO A PASO RAMA
NWUUUY i ee i
YN WUUUUUY
xX
aiff1ib: calcular diferencias entre objetos.
dis: desensamblador para bytecode Python.
distutils: soporte para construir médulos Python.
doctest: test de cédigo en docstrings.
DocXMLRPCServer: servidor XML-RPC autodocumentado.
dumbabn: interfaz DBM portable.
dummy_thread: reemplazo para el médulo thread.
dummy threading: reemplazo para el médulo threading.
E
email: manejo de correo electrénico.
encodings: codificaciones de cadenas.
ensurepip: manejo de pip en instalaciones o entornos virtuales.
errno: errores estdndar.
exceptions: excepciones estindar.
F
fent1 (Unix): lamadas al sistema fenti() ¢ ioctl().
£ilecmp: compara ficheros.
£ileinput: bucle de lectura en torno a la entrada estindar o lineas de archivos.
findertools (Mac): eventos del finder de Apple.
fnmatch: expresiones regulares estilo UNIX.
formatter: formatos de salida.
fpect1 (unix): manejo del control de excepciones sobre operaciones en coma
fiotante.
fractions: numeros racionales
Y stp1ib: cliente FTP.
functools: funciones de alto nivel sobre objetos.
© RAMA ‘Apéndice li. MODULOS DE LA LIBRERIA ESTANDAR DE PYTHON 215
NW UUU UY VW UVC Ut
VNU UUUUY
G
ge: interfaz con el colector de basura.
gabm (Unix) : uso del dbm de GNU.
gensuitemodule (Mac): crea paquetes a partir de diccionarios OSA.
getopt: intérprete de linea de comandos.
getpass: acceso a claves y usuarios.
gettext: internacionalizacién de idiomas.
glob: expansién de rutas de ficheros estilo UNIX.
grp (Unix): group database.
gzip: compresién y descompresién con gzip.
H
haghlib: algoritmos hash.
heapg: colas de prioridades.
hmac: implementacién de HMAC.
hotshot: profiler para login.
htmlentitydefs: definiciones de entidades HTML.
intérprete de HTML y XHTML.
httplib: cliente HTTP y HTTPS.
HTMLParse:
sliente IMAP4.
imaplil
imghdr: determina el tipo de imagen de un archivo.
imp: acceso a import.
import1ib: manejador para__import_.
inspect: extrac informacién de objetos Python.
io: entradas/salidas.
itertools: funciones para iteradores.216 PYTHON. PASO A PASO RAMA
VN WUUUUUY NWN
NWUUUY
json: formato JSON.
‘K
keyword: manejo de claves en listas, tuplas, etc.
14b2t03: cambiar scripts de Python 2 a Python 3.
Linecache: acceso a lineas de archivos.
Locale: servicios de internacionalizacién.
Logging: logging para aplicaciones.
M
macpath: manipulaci6n de rutas de ficheros en Mac OS 9.
mailbox: mailboxes.
mailcap: archivos Mailcap.
marshal: serializacién de objetos Python.
math: funciones matemiticas.
mimetypes: tipos MIME.
MiniAgFrame (ac): soporte para servidor Open Scripting Architecture (OSA)
(“Apple Events”).
nmap: interfaz para archivos proyectados en memoria en UNIX y Windows.
modulefinder: buscador de médulos.
msilib (Windows): creacién de archivos CAB y de Microsoft Installer.
msvert (Windows): manejo del runtime de MS VC-++.
multiprocessing: manejo de hilos basado en procesos.
© RAMA ‘Apéndice li. MODULOS DE LA LIBRERIA ESTANDAR DE PYTHON 217
NWN
VW UU EEE eee uuuuy
—
netrc: archivos .netre.
nis (Unix): interfaz con la biblioteca NIS de Sun.
antp1ib: cliente NNTP.
numbers: Clases abstractas numéricas.
oO
operator: operadores.
os: interfaz con el sistema operative.
ossaudiodev (Linux, FreeBSD) : acceso a dispositivos de audio OSS.
P
parser: parsetrees para cédigo Python.
pab: debugger de Python para intérpretes interactivos.
pickle: protocolo para la serializacién de objetos.
pickletools: herramientas para el protocolo pickle.
pipes (Unix): interfaz para “tuberias” UNIX.
pkgutil: utilidades para import.
platform: identificacién de plataforma.
plist1ib: manejo de archivos plist de Mac OS X.
pop1ib: cliente POP3.
posix (Unix): llamadas POSIX.
pprint: impresién de datos.
profile: profiler de Python.
pstats: estadisticas para el profiler.
pty (Linux): manejo de seudoterminales.
pwd (Unix): Password Database.
py_compile: compilador de cédigo Python a bytecode.218 PYTHON. PASO A PASO RAMA
7 pyclbr: inspeccién de clases y métodos de un médulo.
¥ pydoc: documentacién y ayuda de Python.
Q
F queue: gestion de colas.
¥ quopri: encode and decode files using the MIME quoted-printable encoding.
R
random: mimeros seudoaleatorios.
re: expresiones regulares.
readline (Unix): soporte para la biblioteca GNU readline.
resource (Unix): informacién de uso de recursos en procesos.
rlcompleter: intérprete de autocompletado.
robotpars
: intérprete de archivos robots.txt.
i |
runpy: manejo de médulos sin importarlos.
Ss
sched: event scheduler de propésito general.
Scrolledrext (tk): widget para barra de scroll vertical.
select: manejo simultanco de entradas/salidas nviltiples.
shelve: objetos persistentes.
shlex: andlisis léxico simple para interfaces de comandos.
shutil: operaciones sobre archivos.
signal: sefiales para eventos asincronos.
simpleHTTPserver: servidor bisico HTTP.
simplexunRPcserver: servidor basico XML-RPC.
site: rutas de médulos y otras configuraciones del sistema.
servidor SMTP.
smtpd:
i
smtp1ib: cliente SMTP.
© RAMA ‘Apéndice ll. MODULOS DE LA LIBRERIA ESTANDAR DE PYTHON 219
NW U UU EE Ee ee ueuuuur
NX
VNU UUUUY
sndhdr: determina el tipo de un archivo de sonido.
socket: interfaz de red de bajo nivel.
Socket Server: framework para servidores de red.
spwd (Unix): Shadow Password Database.
sqlites: acceso a bases de datos SQLite 3.x.
se1: TLS/SSL manejo de sockets.
stat: utilidades para interpretar los resultados de os.stat(), os.Istat() y os.fstat().
string: operaciones sobre cadenas.
stringro: lectura y escritura de cadenas como si se tratase de archivos.
stringprep: preparacién de cadenas segin el RFC 3453.
struct: intérprete de cadenas como datos binarios.
subprocess: administrador de subprocesos.
sunau: interfaz con el formato de sonido AU.
symbol: constantes que representan nodos internos en un Arbol sintactico.
symtable: interfaz con las tablas de simbolos del compilador.
sys: pardmetros y funciones del sistema.
sysconfig: informacién de configuracién de Python.
syslog (Unix): interfaz con el syslog de UNIX.
T
tabnanny: herramienta para detectar problemas con los espacios en blanco en los
archivos fuente de Python en un Arbol de directorios.
tarfile: manejo de archivos TAR.
telnet1ib: cliente telnet,
tempfile: genera archivos y directorios temporales.
termios (Unix): control de terminales tty estilo POSIX.
tes
: paquetes de test para Python.
textwrap! ajuste de textos.
thread: crea multiples hebras en un intérprete.220 PYTHON. PASO A PASO RAMA
i i i
i i i |
NX
threading: interfaz de manejo de hebras.
time: uso y conversién de datos y formatos de tiempo.
timeit: cronometra la ejecucién de fragmentos de cédigo.
Tix: widgets de Tk para Tkinter.
Thinter: interfaz con Tel/Tk para interfaces graficas.
token: constantes que representan nodos en un arbol sintactico.
tokenize: analizador Iéxico de cédigo Python.
trace: traza la ejecucién de sentencias Python.
traceback: manipulacién de stack traces.
tek: widgets con Tk.
tty (Unix): funciones de acceso a terminal.
turtle: grificos de tortuga (estilo LOGO) para Tk.
types: nombres para los tipos predefinidos.
U
unicodedata: acceso a la base de datos Unicode Database.
unittest: framework para test unitarios.
url1ib: librerfa para abrir recursos de red por su URL.
url1ib2: nueva libreria para abrir recursos de red por su URL.
urlparse: manejo de URL.
UserDict: clase envoltorio para diccionarios.
Userbist: clase envoltorio para listas.
Userstring: clase envoltorio para cadenas.
uu: codificar y decodificar en formato uwencode.
uuid: objetos UUID (Universally Unique Identifiers).
WwW
warnings: manejo de mensajes de alerta.
wave: interfaz para el formato de sonido WAV.
© RAMA ‘Apéndice ll. MODULOS DE LA LIBRERIA ESTANDAR DE PYTHON 221
YWWUUY
weakref: soporte para weak references y weak dictionaries.
webbrowser: controlador para navegadores web.
whichab: detectar qué médulo creé una base de datos.
winsound (Windows) : sistema de sonido de Windows.
wagiref: herramientas para WSGI.
x
xdrlib: codificar y decodificar XDR.
xm1: médulos de procesado de XML.
xmlrpelib: cliente de XML-RPC.
Z
W zipfile: lectura y escritura de archivos ZIP,
Vy zipimport:
oporte para importar médulos desde archivos ZIP.
z1ib: rutinas de bajo nivel compatibles con gzip.SYNAPS PREMIUM
Apéndice III
DIFERENCIAS ENTRE
PYTHON 2 Y PYTHON 3
Como ya dijimos, Python 3 es bdsicamente igual que Python 2. Las
diferencias entre ellos son pequefias, pero suficientes para que ambos lenguajes sean
incompatibles.
Este es un listado (si bien no exhaustivo) de las principales diferencias que
tiene Python 3 con Python 2.
V Python 3 resuelve muchos de los problemas de codificacién de texto, y
ahora todas las cadenas son Unicode por defecto.
VW Todas las clases de Python 3 son New Style. No existen las clases Old
Siyle.
V En Python 3, print es una funcién y no una sentencia del lenguaje, por
lo que debe usarse con paréntesis del modo print ("CADENA") en lugar
de print "CADENA",
V Funciones como filter (),map() 0 z4p(), que en Python 2 retornaban
una lista, en Python 3 retornan un iterable.
¥ Como vimos en el capitulo sobre operadores, el resultado de una division
de enteros en Python 2 es otro entero (perdiendo la parte decimal, si es
que la hay); sin embargo, en Python 3 el resultado sera siempre un mimero
en coma fiotante, por lo que no se pierde la parte decimal. Esta es una de
las fuentes de incompatibilidad més “peligrosas”, porque el intérprete no224 PYTHON. PASO A PASO RAMA
dard ningiin aviso 0 mensaje de error (salvo que haya incompatibilidad de
tipos en el uso posterior del resultado), mientras que el comportamiento
de nuestro programa puede ser muy distinto del esperado.
V La funci6n xcange() desaparece de Python 3, y hay que usar range ()
en su lugar.
V La funcién raw input () no existe en Python 3 y es reemplazada por la
funcién input (), que adopta el comportamiento que esta tenia (ahora
retorna siempre un objeto string).
V El método next () desaparece.
V Python 3 retoma un typezrror al intentar comparar tipos no ordenables.
Portar cédigo de Python 2 a Python 3
En general, la mayor parte del cédigo de Python 2 es perfectamente funcional
en Python 3 sin necesidad de modificaciones. De todos modos, modificar un programa
en Python 2 para que sea compatible con Python 3 puede ser desde una tarea trivial
en la que no haya que modificar apenas nada (sobre todo cuando hay involucradas
pocas lineas de cddigo), hasta un arduo trabajo casi imposible. La prueba son todos
esos médulos que o no han sido portados atin o lo han sido parcialmente.
La librerfa estindar de Python incluye el programa 2t03: htips://docs.
python.org/2/library/2t03.himl, que automatiza muchos de los cambios necesarios
para migrar cédigo a Python 3.
La web oficial de Python tiene una guia con algunos consejos para aquellos
que deseen portar cédigo de Python 2 a Python 3 en hitps://docs.python.org/3/howto/
pyporting.himl. También hay disponible una pagina wiki de ayuda en hitps://wiki.
python.org/moin/PortingP ythonToPy3k.
SYNAPS PREMIUM
Simbolos
it_, 123, 124, 125, 127, 128,
129, 130, 131, 132, 133, 134, 135,
136, 137, 139, 140, 141
__initpy__, 152, 153, 154
—_main_, 136, 137, 150, 166, 211
—name_, 150, 166
A
abs(), 179
all(), 179
any(), 180
Apple, 21, 214, 216
Archivo, 15, 39, 42, 43, 46, 47, 145,
146, 147, 152, 153, 154, 157, 167,
172, 173, 174, 175, 176, 177, 178,
182, 187, 195, 196, 215, 219
Argumento, 107, 108, 109, 124, 138,
159, 166, 167, 171, 172, 173, 176,
177, 178, 179, 182, 183, 184, 185,
186, 188, 189, 190, 191, 192, 193,
194, 195, 196, 197, 198, 199, 200,
201, 202, 203, 205, 206, 207, 208
ASC, 46, 60, 90, 181, 196, 212
Atributo, 123, 125, 127, 131, 133,
136, 137, 138, 139, 140, 141,
144, 166, 167, 184, 185, 189,
INDICE ALFABETICO
190, 201, 202, 203, 204, 205,
207, 208, 209
B
Base binaria, 56
Base decimal, 55
Base hexadecimal, 16, 56, 63, 164,
188
Base octal, 55, 63
basestring(), 180
BDLF, 21
binQ, 180
bool(), 57, 61, 180
Break, 51, 95, 96
BSD, 21, 213
Bucle, 90, 94, 95, 96, 98, 99, 100,
102, 104, 115, 117, 121, 169, 174,
175, 197
bytearray(), 180
c
C, 17, 98, 161, 194, 213
Cadenas, 52, 57, 58, 66, 67, 68, 77,
81, 82, 86, 88, 98, 100, 114, 161,
165, 175, 178, 181, 192, 203, 204,
205, 206, 207, 214, 219, 220, 223
callable), 181226 PYTHON. PASO A PASO
chr(), 181, 196
Clase, 123, 124, 125, 127, 128, 129,
130, 131, 132, 133, 135, 136, 137,
138, 139, 140, 141, 144, 160, 171,
181, 191, 192, 201, 208, 212
Clase base, 127, 129
Clase derivada, 127
Clase hija, 127, 130
Clase madre, 127, 130, 131
classmethod(), 181
cmp(), 182
Cédigo fuente, 17, 22, 29, 182
Comentarios, 45
compile(), 182, 186
complex(), 55, 183
Condicional, 91
Continue, 51, 96
CSV, 178, 213
D
Decorador, 118, 119, 181, 202
def, 13, 51, 105, 106, 107, 108, 109,
10, 111, 112, 113, 114, 116, 117,
118, 119, 123, 124, 125, 126, 127,
128, 129, 130, 131, 132, 133, 134,
135, 136, 137, 139, 140, 141, 146,
148, 149, 150, 153, 166, 170, 182,
183, 187, 194, 198, 202
delattr(), 183, 201
Diccionario, 82, 83, 84, 85, 86, 87,
88, 98, 99, 110, 184, 185, 186,
187, 189, 190, 192, 193, 208, 215,
220
dict(), 83, 184
dirQ), 185
doestrings, 113, 121
E
Editor, 12, 25, 30, 31, 32, 33, 34, 35,
36, 37, 39, 46
lif, 51, 93, 94, 108, 114, 119, 132, 134
RAMA
else, 51, 93, 94, 95, 103, 108, 114,
119, 126, 132, 134, 187
enumerate(), 185
Espacios de nombres, 23, 120, 125,
148, 150, 151, 152, 154, 155, 185,
186, 187, 211
eval(), 182, 183, 186
except, 51, 101, 102, 103, 140
execfile(), 187
Exponencial, 164
F
False, 57, 66, 67, 69, 70, 71, 91, 180,
181, 187, 190, 203, 206
file(), 32, 171, 172, 175, 183, 187,
195
filter(), 187, 223
float(), 54, 60, 61, 62, 66, 188
for, 21, 51, 53, 98, 99, 100, 104, 110,
111, 115, 116, 117, 163, 167, 175,
176, 199, 208
format(), 188
Formato, 13, 29, 30, 35, 46, 55, 136,
161, 182, 190, 202, 204, 212, 219,
220
from, 51, 150, 151, 152, 154
frozenset(), 188
Fuertemente tipado, 53
Funciones, 19, 22, 33, 34, 61, 63,
105, 107, 110, 111, 112, 113, 114,
115, 117, 118, 119, 120, 121, 123,
124, 141, 145, 146, 147, 148, 150,
151, 152, 153, 154, 156, 160, 170,
171, 179, 181, 188, 211, 219
G
Generador 115, 116, 175, 185, 208
getattr(), 189
globals(), 189
GUI, 168
Guido van Rossum, 21
© RAMA
H
hasattr(), 189
hashQ), 190
helpQ, 190
hex(), 63, 188, 190
I
id, 85, 190
IDE, 30
IDLE, 31, 32, 33, 36, 37, 42, 46, 169
if, 51, 91, 92, 93, 94, 95, 96, 101,
102, 103, 108, 114, 119, 126, 132,
134, 166, 187
import, 51, 145, 146, 147, 149, 150,
151, 152, 154, 155, 157, 167, 169,
170, 215, 217
inmutables, 79, 82, 83, 86, 87, 88
input(), 13, 43, 166, 167, 191, 224
Instalador, 25, 27, 28
int(), 53, 54, 60, 61, 62, 66, 138, 140,
180, 191
isinstance(), 191
issubclass(), 191
iter(), 192
Tterable, 115, 179, 180, 184, 187,
188, 192, 193, 194, 197, 199, 201,
204, 206, 207, 209, 223
Iteradores, 98, 115, 215
L
lambda, 51, 119, 120, 121
len(), 133, 192
Linea de 6rdenes, 12, 29, 40, 42, 43,
114, 156, 158, 165, 167, 168, 211,
212, 215
Linux, 12, 21, 22, 29, 30, 31, 39, 40,
42, 157, 217
list), 76, 192
Lista, 24, 27, 28, 37, 71, 74, 75, 76,
71, 78, 79, 81, 82, 86, 87, 98, 110,
115, 116, 117, 141, 142, 143, 147,
inDIce ALFABETICO 227
156, 162, 167, 172, 173, 174, 175,
176, 177, 184, 185, 186, 187, 192,
193, 196, 198, 199, 201, 203, 205,
206, 208, 209, 211, 223
Literales, 49, 51
locals(), 193
long), 54, 60, 61, 62, 193
M
Mag, 12, 28, 30, 31, 39, 40, 42, 214,
215, 216, 217
map(), 193, 223
max(), 194
memoryview(), 194
Método, 99, 100, 104, 123, 124, 125,
127, 128, 129, 130, 131, 132, 133,
134, 135, 138, 140, 141, 144, 169,
165, 171, 172, 173, 174, 175, 176,
177, 178, 179, 181, 189, 199, 201,
202, 218, 224
min(), 194
Médulo, 53, 64, 65, 74, 114, 136,
141, 145, 146, 147, 148, 149, 150,
151, 152, 153, 154, 155, 156, 157,
158, 159, 160, 165, 166, 167, 168,
178, 179, 196, 198, 206, 208, 211,
214, 216, 218, 221, 224
Mutables, 79, 85, 86, 88
N
next(), 195, 224
None, 57, 60, 184, 193, 206
oO
object(), 195
oct(), 63, 195
open(), 171, 172, 187, 195
Operadores, 63, 64, 65, 66, 67, 68,
69, 70, 71, 74, 88, 133, 134, 135,
217, 223
ord(), 196, 207228 PYTHON. PASO A PASO
P
Palabras reservadas, 51
Paquetes, 22, 28, 29, 31, 152, 153,
154, 155, 156, 157, 158, 159, 160
Paradigma, 18, 19, 119, 144
Pardmetro, 42, 107, 109, 110, 114,
118, 124, 133, 142, 181, 182, 185,
187, 190, 193, 195, 196, 201, 202,
206, 207
pass, 51, 92, 128
Perl, 18, 98
pip, 158, 159, 214
pow), 196
print, 13, 39, 43, 44, 45, 46, 47, 49,
50, 51, 52, 53, 55, 56, 57, 59, 60,
61, 62, 63, 66, 67, 68, 70, 71, 72,
73, 75, 76, 77, 78, 79, 80, 81, 82,
83, 84, 85, 86, 87, 89, 91, 92, 93,
94, 95, 96, 97, 98, 99, 100, 101,
102, 103, 105, 106, 107, 108, 109,
110, 111, 112, 113, 114, 115, 116,
117, 118, 119, 120, 121, 124, 126,
127, 128, 129, 130, 131, 132, 133,
134, 135, 136, 137, 138, 139, 140,
141, 142, 143, 146, 147, 148, 149,
150, 151, 152, 154, 155, 157, 162,
163, 164, 165, 166, 167, 173, 174,
175, 182, 183, 186, 187, 194, 197,
198, 199, 202, 208, 223
Propiedades, 123, 125, 128
pydoc, 114, 141, 156, 160, 179, 211,
218
Python Package Index, 157, 158, 159
R
range(), 116, 196, 208, 224
raw_input(), 43, 197
reduce(), 197
reload, 198
repr(), 198
RAMA
reversed(), 199
round(), 199
Ss
script, 24, 39, 40, 42, 43, 46, 95, 165,
166, 167, 168, 170, 172, 190
Secuencias, 71, 75, 81, 82, 201
self, 123, 124, 125, 126, 127, 128,
129, 130, 131, 132, 133, 134, 135,
136, 137, 138, 139, 140, 141, 181,
201, 202
set, 84, 85, 138, 139, 140, 185, 189,
199, 200
set(), 84, 85, 199
setattr(), 184, 200
shebang, 42, 43, 44, 46
shell, 31, 32, 33, 34, 36
slice, 201
slicing, 78, 81, 82, 202, 204
Software libre, 12, 22, 25, 30
sorted(), 201
staticmethod(), 201
str(), 53, 57, 60, 61, 62, 63, 97, 105,
109, 114, 126, 127, 128, 129, 130,
131, 132, 133, 138, 141, 167, 180,
202, 207
subclase, 127, 180, 191, 192
sum(), 206
Superclase, 127, 180, 195
sys.argy, 167
T
Tkinter, 156, 168, 169, 170, 171,
178, 220,
True, 57, 61, 66, 67, 69, 70, 71,81, 91,
180, 181, 184, 187, 188, 189, 190,
191, 192, 200, 201, 203, 204, 206
‘try, 51, 100, 101, 102, 103, 104, 140
Tupla, 79, 80, 81, 107, 142, 185, 187,
188, 192, 193, 203, 205, 206, 207,
209
© RAMA
tuple(), 207
type(), 60, 105, 207
U
unichr(), 181, 196, 207
unicode(), 207
UNICODE, 46, 60, 223
UNIX, 31, 39, 42, 43, 159, 167, 214
UTE, 46,47
Vv
Variables, 34, 35, 49, 50, 51, 75, 85,
88, 91, 100, 105, 111, 112, 113,
121, 123, 125, 146, 147, 148, 149,
150, 153, 154, 156, 185, 190, 211
inDIce ALFABETICO 229
vars(), 208
Ventana, 31, 32, 43, 46, 169, 170,
171
Ww
while, 51, 94, 95, 96, 97, 104, 109,
114, 116, 117
Widget, 168, 169, 170, 171
Windows, 12, 21, 25, 27, 28, 30, 31,
39, 40, 42, 43, 172, 196, 211, 216,
221
Z
Zen, 23
zip(), 209, 223—
PYTHON Paso a paso
En los ultimos afios, el lenguaje de programacién Python aparece siempre en
los primeros puestos de todos los rankings de popularidad, siendo uno de los
mas usados. Python es un lenguaje multiplataforma comodo, flexible, potente
y facilmente extensible, ideal tanto para programar pequefias soluciones como
para acometer grandes proyectos informaticos. Estas caracteristicas han hecho
que se emplee tanto en informatica doméstica como en ambientes cientificos o
entornos empresariales.
Ademas, su clara orientaci6n a la limpieza del cédigo y la legibilidad hacen de
Python una de las mejores opciones (probablemente la mejor) para aquellos
que buscan comenzar su aprendizaje en la programacién: al contrario que
otros lenguajes de programacién mas abstrusos, Python es agradable de leer y
aprender.
En este libro se explica como programar usando el lenguaje Python paso a paso
y desde cero. En su redacci6n se ha puesto especial atencion en la sencillez y la
facilidad de comprensi6n, usando ejemplos practicos y funcionales y buscando
una curva de aprendizaje lo mas suave posible, sin asumir que el lector tiene
conocimientos de programacion previos.
De forma gradual y sencilla, se muestran todos los aspectos de la programaci6n
en Python, desde la instalacién del propio intérprete o las estructuras y
elementos del lenguaje, hasta el acceso a ficheros, el uso y programacion de
funciones y bibliotecas, la programacién orientada a objetos o la construccién
de interfaces graficos.
0 a
9"7e84gole4e1
aP Ra-Ma’*