Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Funciones Internas Python

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 12

2.

3 Funciones internas

El intérprete de Python cuenta con funciones internas que siempre se hallan


disponibles. Se muestran a continuación, en orden alfabético.

__import__ (name[, globals[, locals[, fromlist]]])


Esta función es llamada por la sentencia import. Existe con el propósito
principal de reemplazarla con otra función compatible en interfaz, para
hacer posible cambiar la semántica de la sentencia import. Consultar los
módulos de biblioteca estándar ihooks y rexec si se desea ver por qué y
cómo hacer esto. Consultar también el módulo interno imp, que define
ciertas operaciones útiles para construir una función __import__() propia.

Por ejemplo, la sentencia `import spam' causa la siguiente


llamada: __import__('spam', globals(), locals(), []); la
sentencia from spam.jamon import huevos resulta
en __import__('spam.jamon', globals(), locals(), ['huevos']). Hay que ver
que, a pesar de que se pasan locals() y ['huevos'] como argumentos, la
función __import__() no da valor a la variable local huevos; esto se realiza
con el código adicional generado por la sentencia import (de hecho, la
implementación estándar no utiliza el argumento locals en absoluto y
usa globals sólo para determinar el contexto del paquete de la
sentencia import).

Cuando la variable name tiene la forma package.module, normalmente, se


devuelve el paquete de nivel más elevado (el nombre hasta el primer
punto, no el módulo denotado por name. Sin embargo,. cuando se
proporciona un argumento fromlist no vacío, se devuelve el módulo
denominado name. Esto se hace de esta manera por compatibilidad con el
bytecode generado para las diferentes clases de sentencias import. Cuando
se utiliza "import spam.jamon.huevos", el paquete de nivel
superior spam debe colocarse en el espacio nominal que ha llamado a
import, pero cuando se usa "from spam.jamon import huevos", se ha de
utilizar el subpaquete spam.jamon para encontrar la variable huevos. Como
remedio a este comportamiento, se puede utilizar getattr() para extraer los
componentes deseados. Por ejemplo, se podría definir la siguiente función
de ayuda:

import string

def my_import(name):
mod = __import__(name)
components = string.split(name, '.')
for comp in components[1:]:
mod = getattr(mod, comp)
return mod
abs (x)
Devuelve el valor absoluto de un número. El argumento puede ser un
entero normal o largo o un número de coma flotante. Si el argumento es un
número complejo, se devuelve su módulo.
apply (function, args[, keywords])
El argumento function debe ser un objeto invocable (una función o método
definido por el usuario o interna) y args una secuencia (si no es una tupla,
primero se convierte la secuencia a tupla). Se llama a la
función function con args como lista de argumentos. El número de
argumentos es la longitud de la tupla (se diferencia de llamar sin más
a func(args), pues en este caso siempre hay exactamente un argumento).
Si se proporciona el argumento opcional keywords, debe ser un diccionario
cuyas claves sean cadenas. Especifica argumentos clave a añadir al final
de la lista de argumentosd.
buffer (object[, offset[, size]])
EL argumento object debe ser un objeto con interfaz compatible con buffer
(cadenas, matrices y buffers). Se creará un nuevo objeto buffer referente
a object. El objeto buffer será un corte desde el principio de object (o desde
el desplazamiento inicial offset especificado). El corte se extenderá hasta el
final de object (o tendrá una longitud especificada por el argumento size).
callable (object)
Devuelve verdadero si el argumento object parece tener una interfaz de
llamadas (como las funciones y métodos) y falso en caso contrario. SI
devuelve verdadero, aún es posible que falle la llamada, pero si es falso, las
llamadas a object siempre serán infructuosas. Es importante ver que las
clases siempre tienen la interfaz de llamadas (y al llamarlas se obtiene una
nueva instancia). Las instancias de clases son llamables si cuentan con un
método __call__().
chr (i)
Devuelve una cadena de un carácter cuyo código ASCII es el entero i, es
decir, chr(97) devuelve la cadena 'a'. Es la inversa de la función ord(). El
argumento debe estar en el rango de 0 a 255, ambos incluidos. Se
lanza ValueError si i está fuera de dicho rango.
cmp (x, y)
Compara los objetos x y y y devuelve un entero acorde con la comparación.
El valor devuelto es negativo si x < y, cero si x == y y estrictamente positivo
si x > y.
coerce (x, y)
Devuelve una tupla de dos argumentos numéricos convertidos a un tipo
común, usando las mismas reglas que usan las operaciones aritméticas.
compile (string, filename, kind)
Compila la cadena string a un objeto código. Los objetos código pueden
ejecutarse con la sentencia exec evaluarse en una llamada a eval(). El
argumento filename debe proporcionar el fichero del que se leyó el código.
Pasar, por ejemplo, '<string>' si no se ha recuperado el código de ningún
fichero. El argumento kind especifica qué tipo de código se ha de compilar.
Puede ser 'exec' si string es una secuencia de sentencias, 'eval' si es una
sola expresión o 'single' si es una sola sentencia interactiva (en cuyo caso,
las sentencias-expresión que den como resultado algo diferente
de None mostrarán este resultado en pantalla).
complex (real[, imag])
Crea un número complejo con el valor real + imag*j o convierte una cadena
o número a complejo. Cada argumento puede ser de cualquier tipo
numérico (incluso complejo). imag toma un valor cero por omisión, y la
función sirve de función de conversión como int(), long() y float(); en tal
caso también acepta un argumento cadena, que debe representar un
número complejo válido.
delattr (object, name)
Esta función es pariente de setattr(). Los argumentos son un objeto y una
cadena. La cadena debe ser el nombre de uno de los atributos del objeto.
La función elimina dicho atributo, siempre que el objeto lo permita. Por
ejemplo, delattr(x, 'foobar') equivale a del x.foobar.
dir ([object])
Sin argumentos, devuelve la lista de nombres de la tabla de símbolos local
actual. Con argumento, intenta recuperar una lista de atributos válidos para
el objeto indicado. Esta información se infiere a partir de los
atributos __dict__, __methods__ y __members__ del objeto, de existir. Esta
lista no es necesariamente completa, pues para las clases, no se incluyen
los atributos de clases base, y en el caso de instancias de una clase, no se
incluyen los métodos. La lista resultante está en orden alfabético. Por
ejemplo:
>>> import sys
>>> dir()
['sys']
>>> dir(sys)
['argv', 'exit', 'modules', 'path', 'stderr', 'stdin', 'stdout']
divmod (a, b)
Toma como argumentos dos números y devuelve una pareja de números:
el primero es el cociente de los argumentos y el segundo su resto. Si los
operandos son de tipo mixto, se aplican las reglas de operadores binarios
aritméticos. En el caso de los enteros largos, el resultado equivale
a (a / b, a % b). En el caso de los números en coma flotante, el resultado
es (q, a % b), donde q suele ser math.floor(a / b), pero puede ser uno
menos. En cualquier caso, q * b + a % b se acerca mucho a a, si a % b no
es cero y tiene el mismo signo que b, and 0 <= abs(a % b) < abs(b).
eval (expression[, globals[, locals]])
Los argumentos son una cadena y dos diccionarios opcionales. El
argumento expression se analiza y evalúa como expresión de Python
(hablando técnicamente, una lista de condiciones) usando los
diccionarios globals y locals como espacio nominal global y local,
respectivamente. Si se omite el diccionario locals, toma por valor el
diccionario globals. Si se omiten los dos diccionarios, la expresión se evalúa
en el entorno en que se llama a eval. El valor devuelto es el resultado de la
expresión evaluada. Los errores de sintaxis se comunican como
excepciones. Por ejemplo:
>>> x = 1
>>> print eval('x+1')
2

También se puede utilizar esta función para ejecutar objetos código


arbitrarios (es decir, los creados con compile()). Para ello, se debe pasar un
objeto código en lugar de una cadena. El objeto código debe compilarse
con el argumento kind a 'eval'.

Pistas: La ejecución dinámica de sentencias se logra con la sentencia exec.


La ejecución de sentencias de un fichero se logra con la función execfile().
Las funciones globals() y locals() devuelven el diccionario actual global y
local, respectivamente, lo que puede resultar útil para pasárselo
a eval() o execfile().

execfile (file[, globals[, locals]])


Esta función es similar a la sentencia exec, pero analiza un fichero en lugar
de una cadena. Es diferente de la sentencia import porque no utiliza la
administración de módulos, sino que lee el fichero incondicionalmente y no
crea un nuevo módulo2.8.

Los argumentos son un nombre de fichero y dos diccionarios opcionales. El


fichero se analiza y evalúa como una secuencia de sentencias de Python
(de modo similar a un módulo) usando los
diccionarios globals y locals como espacio nominal global y local,
respectivamente. Si se omite el diccionario locals, toma por valor el
diccionario globals. Si se omiten los dos diccionarios, la expresión se evalúa
en el entorno en que se llama a execfile(). El valor devuelto es None.

filter (function, list)
Construye una lista a partir de los elementos de list para los cuales la
función function devuelve un valor verdadero. Si list es una cadena o una
tupla, el resultado tiene ese tipo también; en caso contrario es una lista.
Si function es None, se presupone la función identidad, por lo que se
eliminan todos los elementos falsos (cero, nulo o vacío) de list.
float (x)
Convierte una cadena o número a coma flotante. Si el argumento es una
cadena, debe contener una representación válida de un número en coma
flotante, con espacio en blanco alrededor opcionalmente. En este caso, se
comporta igual que string.atof(x). En caso contrario, el argumento puede ser
un entero normal o largo, y se devuelve un número de coma flotante del
mismo valor (dentro de la precisión de coma flotante de Python).

Nota: Cuando se pasa una cadena, pueden devolverse los valores de NaN


e Infinity, dependiendo de la biblioteca de C subyacente. El conjunto de
cadenas específico aceptado para devolver estos valores depende por
completo de la biblioteca de C y varía de un sistema a otro.
getattr (object, name[, default])
Devuelve el valor del atributo denominado name de object. name debe ser
una cadena de uno de los atributos del objeto, siendo el resultado el valor
de dicho atributo. Por ejemplo, getattr(x, 'foobar') equivale a x.foobar. Si el
atributo especificado no existe, se devuelve default si se ha proporcionado
o se lanza AttributeError si no.
globals ()
Devuelve un diccionario que representa la tabla global de símbolos actual.
Éste es siempre el diccionario del módulo actual (dentro de una función o
método, éste es el módulo en que está definido, no el módulo desde el que
se llama).
hasattr (object, name)
Los argumentos son un objeto y una cadena. El resultado es 1 si la cadena
es el nombre de uno de los atributos del objeto o 0 en caso contrario (se
implementa llamando a getattr(object, name), mirando si hace saltar una
excepción o no).
hash (object)
Devuelve el valor hash del objeto (si lo tuviere). Los valores hash son
enteros que se utilizan para comparar claves de diccionario de manera
rápida en las búsquedas. Los valores numéricos que resultan iguales en
una comparación tienen el mismo valor hash (aun si son de tipos diferentes,
como 1 y 1.0).
hex (x)
Convierte un número entero (de cualquier tamaño) a una cadena
hexadecimal. El resultado es una expresión Python válida. Esta función
siempre devuelve un literal sin signo, por ejemplo, en una máquina de 32
bit, hex(-1) devuelve '0xffffffff'. Si se evalúa en una máquina con el mismo
tamaño de palabra, este literal siempre se evalúa como -1, pero en una
máquina de palabra de diferente tamaño, puede acabar como un entero
positivo muy grande o lanzar una excepción OverflowError.
id (object)
Devuelve la `identidad' de un objeto. Es un entero (o entero largo) que
cumple ser único y constante durante toda la vida del objeto. Dos objetos
cuya vida no coincida en el tiempo pueden compartir el mismo valor de id().
Nota de implementación: Es la dirección en memoria del objeto.
input ([prompt])
Equivale a eval(raw_input(prompt)). Advertencia: ¡Esta función no está a
salvo de errores de usuario! Espera una expresión Python válida como
entrada. Si la entrada no es sintácticamente válida, se lanzará SyntaxError.
Se pueden lanzar otras excepciones si hay cualquier error durante la
evaluación (por otra parte, a veces es justo lo que necesitas cuando hay
que escribir un guion rápidamente para uso por expertos).

Si está cargado el módulo readline, input() lo utilizará para proporcionar


edición compleja de línea e histórico de órdenes.
Se debe considerar el uso de la función raw_input() para la entrada de
usuarios en general.

int (x[, radix])
Convierte una cadena o número a entero simple. Si el argumento es una
cadena, debe contener un número decimal con signo opcional
representable como entero de Python, con espacio alrededor opcional. Se
comporta de manera idéntica a string.atoi(x[, radix]) en este caso. El
parámetro radix proporciona la base para la conversión y puede ser
cualquier entero en el rango [2, 36]. Si se especifica radix y x no es una
cadena, se lanza TypeError. En otros casos, el argumento puede ser un
entero normal o largo, o un número en coma flotante. La conversión de los
números de coma flotante a enteros está definida por la biblioteca C 2.9.
intern (string)
Introduce string en la tabla de cadenas ``internas'' y devuelve la cadena
interna, que es la propia string o una cadena. Internar cadenas es útil para
ganar algo de rendimiento en el caso de búsquedas en diccionarios; si las
claves de un diccionario son internas y la clave buscada es interna también,
las búsquedas por clave (tras hallar el valor hash) se realizan por
comparación de punteros en lugar de comparación de cadenas.
Normalmente, los nombres utilizados en programas de Python se internan
automáticamente, así como las claves utilizadas para contener atributos de
módulo, clase o instancia. Las cadenas internas son inmortales (es decir,
nunca son recolectadas como basura).
isinstance (object, class)
Devuelve verdadero si el argumento object es una instancia del
argumento class o de una de sus subclases. También devuelve verdadero
si class es un objeto tipo y object es un objeto de este tipo. Si object no es
una instancia de clase u objeto del tipo indicados, devuelve falso.
Si class no es ni un objeto de una clase ni de un tipo, se lanza una
excepción TypeError.
issubclass (class1, class2)
Devuelve verdadero si class1 es una subclase (directa o indirecta)
de class2. Una clase se considera subclase de sí misma. Si alguno de los
dos argumentos no es un objeto clase, se lanza una excepción TypeError.
len (s)
Devuelve la longitud (el número de elementos) de un objeto. El argumento
puede ser una secuencia (cadena, tupla o lista) o una correspondencia
(diccionario).
list (sequence)
Devuelve una lista cuyos elementos son los mismos que los
de sequence en el mismo orden. Si sequence ya es una lista, se devuelve
una copia, de modo parecido a sequence[:]. Por
ejemplo, list('abc') devuelve ['a', 'b', 'c'] y list( (1, 2, 3) ) devuelve [1, 2, 3].
locals ()
Devuelve un diccionario que representa la tabla de símbolos local
actual. Advertencia: No debe modificarse el contenido de este diccionario.
Los cambios pueden no afectar a las variables locales del intérprete.
long (x)
Convierte una cadena o número a un entero largo. Si el argumento es una
cadena, debe contener un número decimal de cualquier tamaño de signo
opcional, con espacio alrededor opcional también. Se comporta de manera
idéntica a string.atol(x) en este modo. El argumento puede ser también un
entero normal o largo, o un número en coma flotante, para el que se
devuelve un entero largo del mismo valor. La conversión de los números de
coma flotante a enteros viene determinada por la librería de C, como se
veía en la descripción de int().
map (function, list, ...)
Aplica function a cada elemento de list y devuelve una lista con los
resultados. Si se pasan argumentos adicionales list, function debe tomar
tantos argumentos como listas haya y se aplica la función en paralelo sobre
todos los elementos de la misma posición de todas las listas argumento. Si
alguna de las listas es más corta que el resto, se tomará el valor
de None para los elementos que falten. Si function es None, se supone la
función identidad; si hay múltiples argumentos lista, map() devuelve una
lista de las tuplas de los elementos correspondientes de cada lista (lo que
supone una especie de transposición matricial). Los argumentos list pueden
ser cualquier tipo de secuencia; el resultado siempre es una lista.
max (s[, args...])
Con un solo argumento s, devuelve el mayor elemento de una secuencia no
vacía. Si hay más de una argumento, devuelve el mayor de los argumentos.
min (s[, args...])
Con un solo argumento s, devuelve el menor elemento de una secuencia no
vacía. Si hay más de una argumento, devuelve el menor de los argumentos.
oct (x)
Convierte un número entero (de cualquier tamaño) a una cadena octal. El
resultado es una expresión de Python válida. Nota: Siempre devuelve un
entero sin signo, por ejemplo, en una máquina de 32 bit, oct(-
1) devuelve '037777777777'. Si se evalúa en una máquina de la misma
longitud de palabra, este literal se evaluará como -1, si el tamaño de
palabra es diferente podría resultar un entero positivo grande o lanzar una
excepción OverflowError.
open (filename[, mode[, bufsize]])
Devuelve un nuevo objeto fichero (descrito anteriormento bajo Tipos
internos). Los primeros dos argumentos son los mismos que los de la
función C fopen() de la cabecera stdio: filename es el nombre del fichero a
abrir, mode indica cómo se ha de abrir el fichero: 'r' en sólo lectura, 'w' para
escritura (truncando el fichero si existe) y 'a' para agregar (lo que
en algunos sistemas Unix supone que todas las escrituras se agregan al
final del archivo, sin importar la posición actual del cursor de escritura.
Los modos 'r+', 'w+' y 'a+' abren el fichero para actualización (hay que
observar que 'w+' trunca el fichero). Se ha de añadir 'b' al modo para abrir el
fichero en modo binario, para los sistemas que diferencian los ficheros
binarios y de texto (si no, se hace caso omiso). Si no es posible abrir el
fichero, se lanza IOError.

Si se omite mode, toma un valor de 'r'. Al abrir un fichero binario, se debe


añador 'b' al valor de mode para mejorar la compatibilidad (es útil hasta en
sistemas que no hacen distinciones entre ficheros de texto y binarios, pues
sirve de documentación). El argumento opcional bufsize especifica el
tamaño de tampón deseado: 0 significa sin tampón, 1 indica tampón de
líneas y cualquier otro valor positivo especifica el tamaño del tampón a usar
(aproximado). Un bufsize negativo indica que se ha de usar el valor
predeterminado por el sistema, que suele ser tampón de líneas para los
dispositivos tty y tampón completo para otros ficheros. Si se omite, se usa
el valor predeterminado del sistema2.10.

ord (c)
Devuelve el valor ASCII de una cadena de un carácter o un carácter
Unicode. Por ejemplo, ord('a') devuelve el entero 97, ord(u'
u2020') devuelve 8224. Es la inversa de chr() para cadenas y la
de unichr() para caracteres Unicode.
pow (x, y[, z])
Devuelve x elevado a y; si se proporciona z, devuelve x elevado a y,
módulo z (calculado de manera más eficaz que pow(x, y) % z). Los
argumentos deben ser de tipo numérico. Si los tipos son mixtos, se aplican
las reglas de operadores binarios aritméticos habituales. El tipo de
operando efectivo coincide con el del resultado. Si el resultado no es
expresable en este tipo, se lanzará una excepción, por lo que, por ejemplo,
no está permitido pow(2, -1) ni pow(2, 35000).
range ([start,] stop[, step])
Ésta es una versátil función para crear listas que contengan progresiones
aritméticas. Su uso más popular es en los bucles for. Los argumentos
deben ser enteros normales. Si se omite el argumento step toma un valor
de 1. Si se omite el argumento start toma un valor de 0. La forma completa
devuelve una lista de enteros normales [start, start + step, start + 2
* step, ...]. Si step es positivo, el último elemento es el mayor
valor start + i * step menor que stop; si step es negativo, el último elemento
es el mayor valor start + i * step mayor que stop. step no debe ser cero (o
se lanza ValueError). Por ejemplo:
>>> range(10)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> range(1, 11)
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> range(0, 30, 5)
[0, 5, 10, 15, 20, 25]
>>> range(0, 10, 3)
[0, 3, 6, 9]
>>> range(0, -10, -1)
[0, -1, -2, -3, -4, -5, -6, -7, -8, -9]
>>> range(0)
[]
>>> range(1, 0)
[]
raw_input ([prompt])
Si se proporciona el argumento prompt, se escribe en la salida estándar sin
salto de línea al final. La función lee una línea de la entrada, la convierte a
una cadena (eliminando el salto de línea final) y devuelve el resultado. Si se
lee EOF (el carácter de fin de fichero, Control-Z en Windows, Control-D en
Unix), se lanza EOFError. Ejemplos:
>>> s = raw_input('--> ')
--> Monty Python's Flying Circus
>>> s
"Monty Python's Flying Circus"

Si se ha cargado el módulo readline, raw_input() lo utilizará para


proporcionar edición compleja de línea e histórico de órdenes.

reduce (function, sequence[, initializer])


Aplicar function (una función de dos argumentos), reiteradamente a los
argumentos de sequence, desde el inicio (izquierda) hasta reducir la
secuencia a un solo valor. Por ejemplo, reduce(lambda x, y: x+y, [1, 2, 3, 4,
5]) calcula ((((1+2)+3)+4)+5). Si se proporciona el parámetro
opcional initializer, se coloca a la izquierda de los elementos de la
secuencia antes de iniciar los cálculos y sirve como valor por defecto si la
secuencia está vacía.
reload (module)
Re-analizar y re-inicializar un módulo module ya importado. El argumento
debe ser un objeto módulo, por lo que ya se debe haber importado con
éxito anteriormente. Es útil si se ha editado el módulo con un editor externo
y se desea probar la nueva versión sin abandonar y volver al intérprete de
Python. El valor de retorno es el objeto módulo (es decir, el mismo
argumento de entrada).

Hay que observar ciertos detalles:

Si un módulo es correcto sintácticamente pero falla su inicialización, el


primer import que se haga no enlaza su nombre localmente, sino que
guarda un módulo (parcialmente inicializado) en sys.modules. Para recargar
el módulo, hay que volver a importarlo (lo que enlazará el nombre
localmente al módulo parcialemente inicializado) antes de poder recargarlo
con reload().
Al recargar un módulo, su diccionario (que contiene las variables globales
del módulo) se mantiene. Las redefiniciones de los nombres sobreescribirán
las antiguas definiciones, por lo que esto nu suele suponer un problema. Si
al nueva versión de un módulo no define un nombre que definía la versión
anterior, la definición antigua permanece en memoria. Esta característica se
puede utilizar si el módulo mantiene una tabla global o caché de objetos,
pues una sentencia try puede comprobar la presencia de la tabla y saltarse
la inicialización si se desea.

Es legal, aunque no suele ser muy útil, recargar módulos internos o de


carga dinámica, salvo sys, __main__ y __builtin__. En muchos casos los
módulos de extensión no están diseñados para ser inicializados más de una
vez y pueden fallar de manera arbitraria si se recargan.

Si un módulo importa objetos de otro módulo con from ... import ..., llamar


a reload() del otro módulo no redefine los objetos importados de éste. Una
manera de saltarse esto es re-ejecutar la sentencia from, otra es
usar import y nombres cualificados (module.name).

Si un módulo genera instancias de una clase, recargar el módulo que define


la clase no afecta a las definiciones de métodos de las instancias, que
seguirán utilizando la definición antigua. Lo mismo ocurre en el caso de
clases derivadas.

repr (object)
Devuelve una cadena que contiene un representación imprimible del objeto.
Es el mismo valor que devuelven las conversiones (comillas invertidas). A
veces es útil acceder a esta operación en forma de función normal. En
muchos tipos, esta función hace lo posible para devolver una cadena que
devolvería un objeto del mismo valor que el original al evaluarla con eval().
round (x[, n])
Devuelve el valor de coma flotantex redondeado a n dígitos tras la coma
decimal. Si se omite n toma el valor de cero. El resultado es un número de
coma flotante. Los valores se redondean al valor más cercano a 10 elevado
a menos n. Si hay dos múltiplos igual de cercanos, se redondea alejándose
de 0 (así que round(0.5) es 1.0 y round(-0.5) es -1.0).
setattr (object, name, value)
Es la función contraria a getattr(). Los argumentos son un objeto, una
cadena y un valor arbitrario. La cadena puede nombrar un atributo existente
o nuevo. La función asigna el valor al atributo, siempre que el objeto lo
permita. Por ejemplo, setattr(x, 'foobar', 123) equivale a x.foobar = 123.
slice ([start,] stop[, step])
Devuelve un corte que representa el conjunto de índices especificado
por range(start, stop, step). Los argumentos start y step toman el valor por
omisión de None. Los objetos corte tienen atributos de sólo
lectura start, stop y step que se limitan a devolver los valores de los
argumentos (o su valor por defecto). No tienen ninguna otra funcionalidad
explícita, pero son utilizados por Numerical Python (la extensión de cálculo
matricial) y otras extensiones de terceros. Los objetos corte resultan
también como producto de la sintaxis de corte extendida: "a[start:stop:step]"
o "a[start:stop, i]".
str (object)
Devuelve una cadena que contiene una representación imprimible de un
objeto. En el caso de cadenas, devuelve la propia cadena. La diferencia
con repr(object) es que str(object) no intenta devolver una cadena que
acepte eval(), su objetivo es devolver una cadena imprimible.
tuple (sequence)
Devuelve una tupla cuyos elementos son los mismos que los
de sequence en el mismo orden. Si sequence ya es una tupla, se devuelve
sin cambios. Por ejemplo, tuple('abc') devuelve ('a', 'b', 'c') y tuple([1, 2,
3]) devuelve (1, 2, 3).
type (object)
Devuelve el tipo de object. El resultado es un objeto tipo. El módulo
estándar types define nombres para todos los tipos internos. Por ejemplo:
>>> import types
>>> if type(x) == types.StringType: print "Es una cadena"
unichr (i)
Devuelve la cadena Unicode de una carácter cuyo código Unicode es el
entero i, es decir, unichr(97) devuelve la cadena u'a'. Es la función inversa
de ord() para cadenas Unicode. El argumento debe estar en el rango
[0..65535], ambos incluidos. En caso contrario, se lanza ValueError. Nuevo
en la versión 2.0.
unicode (string[, encoding[, errors]])
Descodifica string usando el codec de encoding. La gestión de errores se
lleva a cabo según errors. El comportamiento predeterminado es
descodificar UTF-8 en modo estricto, lo que significa que los errores de
codificación lanzan ValueError. Hay más información en el módulo codecs.
Nuevo en la versión 2.0.
vars ([object])
Sin argumentos, devuelve un diccionario correspondiente a la tabla de
símbolos local actual. Con un módulo, clase o instancia de clase como
argumento (o cualquier cosa que tenga un atributo __dict__ attribute),
devuelve un diccionario correspondiente a la tabla de símbolos del objeto.
El diccionario devuelto no debería modificarse, pues los efectos sobre la
tabla de símbolos no están definidos2.11.
xrange ([start,] stop[, step])
Esta función es muy similar a range(), pero devuelve un ``objeto xrange'' en
lugar de una lista. Es un tipo secuencia opaco que devuelve los mismos
valores que la correspondiente lista, sin almacenarlos simultáneamente. La
ventaja de xrange() sobre range() es mínima (pues xrange() todavía tiene
que crear los valores al pedísrselos) excepto en máquinas impedidas en
cuestión de memoria (por ejemplo, MS-DOS) o cuando nunca se utilizan
todos los elementos del rango (por ejemplo, porque se suele interrumpir la
ejecución del bucle con break).
zip (seq1, ...)
Esta función devuelve una lista de tuplas, donde cada tupla contiene el i-
ésimo elemento de cada una de las secuencias de argumento. Se requiere
al menos una secuencia, o se lanzará TypeError. La lista devuelta se trunca
a la longitud de la secuencia de argumento más corta. Cuando hay
múltiples secuencias de argumento de la misma longitud, zip() es similar
a map() con un argumento inicial de None. Con una sola secuencia como
argumento, devuelve una lista de tuplas de un solo elemento. Nuevo en la
versión 2.0.

Footnotes

... módulo2.8
Se usa poco, por lo que no acabó como sentencia.
... C2.9
Muy mal, la definición del lenguaje debería exigir el truncamiento hacia
cero.
... sistema2.10
Especificar un tamaño de tampón no tiene en la actualidad ningún efecto en
los sistemas que carecen de una función setvbuf(). La interfaz para
especificar el tamaño del tampón no se realiza mediante una llamada
a setvbuf(), porque podría causar una interrupción incontrolada del
programa si se llama tras realizar cualquier E/S y no hay un método fiable
de determinar si éste es el caso.
... definidos2.11
En la implementación actual, no es posible afectar a las variables locales de
este modo, aunque es posible alterar variables recuperadas de otros
ámbitos (por ejemplol, módulos). Esto puede cambiar.

También podría gustarte