Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Funciones
Funciones
Funciones
Integradas
El intérprete de Python tiene una serie de funciones y tipos integrados que siempre están
disponibles. Se enumeran aquí en orden alfabético.
Funciones integradas
A mi L R
abs() enumerate() len() range()
aiter() eval() list() repr()
all() exec() locals() reversed()
any() round()
anext() F METRO
ascii() filter() map() S
float() max() set()
B format() memoryview() setattr()
bin() frozenset() min() slice()
bool() sorted()
breakpoint() GRAMO norte staticmethod()
bytearray() getattr() next() str()
bytes() globals() sum()
O super()
C H object()
callable() hasattr() oct() T
chr() hash() open() tuple()
classmethod() help() ord() type()
compile() hex()
complex() PAG V
I pow() vars()
D id() print()
delattr() input() property() Z
dict() int() zip()
dir() isinstance()
divmod() issubclass() _
iter() __import__()
abs( x )
Devuelve el valor absoluto de un número. El argumento puede ser un número entero, un
número de coma flotante o una implementación de objeto __abs__(). Si el argumento es un
número complejo, se devuelve su magnitud.
aiter( async_iterable )
Devuelve un iterador asincrónico para un iterable asincrónico . Equivalente a
llamar x.__aiter__().
def all(iterable):
for element in iterable:
if not element:
return False
return True
awaitable anext( async_iterator [ , predeterminado ] )
Cuando se espera, devuelve el siguiente elemento del iterador asincrónico dado , o el valor
predeterminado si se proporciona y el iterador se agota.
any( iterable )
Devuelve Truesi algún elemento del iterable es verdadero. Si el iterable está vacío,
regrese False. Equivalente a:
def any(iterable):
for element in iterable:
if element:
return True
return False
ascii( objeto )
Como repr(), devolver una cadena que contiene una representación imprimible de un objeto,
sino escapar los caracteres no ASCII en la cadena devuelta por repr()el uso \x, \uo \Use
escapa. Esto genera una cadena similar a la devuelta por repr()en Python 2.
bin( x )
Convierta un número entero en una cadena binaria con el prefijo "0b". El resultado es una
expresión de Python válida. Si x no es un intobjeto de Python , tiene que definir
un __index__()método que devuelva un número entero. Algunos ejemplos:
>>>
>>> bin(3)
'0b11'
>>> bin(-10)
'-0b1010'
Si desea o no el prefijo “0b”, puede utilizar cualquiera de las siguientes formas.
>>>
>>> format(14, '#b'), format(14, 'b')
('0b1110', '1110')
>>> f'{14:#b}', f'{14:b}'
('0b1110', '1110')
breakpoint( * Args , ** KWS )
Esta función lo lleva al depurador en el sitio de la llamada. Específicamente,
llama sys.breakpointhook(), pasa argsy kwsdirectamente. De forma predeterminada,
las sys.breakpointhook()llamadas pdb.set_trace()no esperan argumentos. En este
caso, es puramente una función de conveniencia, por lo que no tiene que importar pdbo
escribir explícitamente tanto código para ingresar al depurador. Sin
embargo, sys.breakpointhook()se puede configurar para alguna otra función y
la breakpoint()llamará automáticamente, lo que le permitirá ingresar al depurador de su
elección.
Los objetos Bytes también se pueden crear con literales, consulte Literales String y Bytes .
Nuevo en la versión 3.2: esta función se eliminó primero en Python 3.0 y luego se volvió a
traer a Python 3.2.
chr( i )
Devuelve la cadena que representa un carácter cuyo punto de código Unicode es el
entero i . Por ejemplo, chr(97)devuelve la cadena 'a', mientras que chr(8364)devuelve la
cadena '€'. Esta es la inversa de ord().
Un método de clase recibe la clase como un primer argumento implícito, al igual que un
método de instancia recibe la instancia. Para declarar un método de clase, use este modismo:
class C:
@classmethod
def f(cls, arg1, arg2, ...): ...
Los métodos de clase son diferentes a los métodos estáticos de C ++ o Java. Si quieres esos,
mira staticmethod()en esta sección. Para obtener más información sobre los métodos de
clase, consulte La jerarquía de tipos estándar .
Cambiado en la versión 3.10: Los métodos de clase ahora heredar los atributos de método
( __module__, __name__, __qualname__, __doc__y __annotations__) y tienen un
nuevo __wrapped__atributo.
compile( fuente , nombre de
archivo , modo , banderas = 0 , dont_inherit = False , optimizar = - 1 )
Compile la fuente en un código u objeto AST. Los objetos de código pueden ser ejecutados
por exec()o eval(). la fuente puede ser una cadena normal, una cadena de bytes o un
objeto AST. Consulte la astdocumentación del módulo para obtener información sobre cómo
trabajar con objetos AST.
Las opciones del compilador y las declaraciones futuras se especifican mediante bits que
pueden combinarse mediante OR bit a bit para especificar varias opciones. El campo de bits
requerido para especificar una característica futura dada se puede encontrar como
el compiler_flagatributo en la _Featureinstancia en el __future__módulo. Los
indicadores del compilador se pueden encontrar en el ast módulo, con el PyCF_prefijo.
Nota
Nota
Al convertir de una cadena, la cadena no debe contener espacios en blanco alrededor de la
central +o el -operador. Por ejemplo, complex('1+2j')está bien,
pero sube .complex('1 + 2j')ValueError
Modificado en la versión 3.6: se permite agrupar dígitos con guiones bajos como en los
literales de código.
delattr( objeto , nombre )
Este es un 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 el atributo nombrado,
siempre que el objeto lo permita. Por ejemplo, es equivalente
a .delattr(x, 'foobar')del x.foobar
clase dict( ** kwarg )
clase dict( mapeo , ** kwarg )
clase dict( iterable , ** kwarg )
Crea un diccionario nuevo. El dictobjeto es la clase de diccionario. Consulte dicty tipos de
mapeo: dict para obtener documentación sobre esta clase.
Si el objeto es un objeto de módulo, la lista contiene los nombres de los atributos del
módulo.
Si el objeto es un objeto de tipo o clase, la lista contiene los nombres de sus atributos y,
de forma recursiva, los atributos de sus bases.
De lo contrario, la lista contiene los nombres de los atributos del objeto, los nombres de
los atributos de su clase y, de forma recursiva, los atributos de las clases base de su
clase.
La lista resultante está ordenada alfabéticamente. Por ejemplo:
>>>
>>> import struct
>>> dir() # show the names in the module namespace
['__builtins__', '__name__', 'struct']
>>> dir(struct) # show the names in the struct module
['Struct', '__all__', '__builtins__', '__cached__', '__doc__',
'__file__',
'__initializing__', '__loader__', '__name__', '__package__',
'_clearcache', 'calcsize', 'error', 'pack', 'pack_into',
'unpack', 'unpack_from']
>>> class Shape:
... def __dir__(self):
... return ['area', 'perimeter', 'location']
>>> s = Shape()
>>> dir(s)
['area', 'location', 'perimeter']
Nota
>>>
>>> seasons = ['Spring', 'Summer', 'Fall', 'Winter']
>>> list(enumerate(seasons))
[(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')]
>>> list(enumerate(seasons, start=1))
[(1, 'Spring'), (2, 'Summer'), (3, 'Fall'), (4, 'Winter')]
Equivalente a:
def enumerate(sequence, start=0):
n = start
for elem in sequence:
yield n, elem
n += 1
eval( expresión [ , globales [ , locales ] ] )
Los argumentos son una cadena y globales y locales opcionales. Si se proporciona,
los globales deben ser un diccionario. Si se proporcionan, los locales pueden ser cualquier
objeto de mapeo.
>>>
>>> x = 1
>>> eval('x+1')
2
Esta función también se puede utilizar para ejecutar objetos de código arbitrario (como los
creados por compile()). En este caso, pase un objeto de código en lugar de una cadena. Si
el objeto de código ha sido compilado 'exec'como argumento de modo , eval()el valor de
retorno será None.
Si la fuente proporcionada es una cadena, los espacios iniciales y finales y las pestañas se
eliminan.
En todos los casos, si se omiten las partes opcionales, el código se ejecuta en el ámbito
actual. Si solo se proporcionan globales , debe ser un diccionario (y no una subclase de
diccionario), que se utilizará tanto para las variables globales como para las locales. Si se
dan globales y locales , se utilizan para las variables globales y locales, respectivamente. Si
se proporcionan, los locales pueden ser cualquier objeto de mapeo. Recuerde que a nivel de
módulo, globales y locales son el mismo diccionario. Si exec obtiene dos objetos separados
como globales y locales , el código se ejecutará como si estuviera incrustado en una definición
de clase.
Nota
Ejemplos:
>>>
>>> float('+1.23')
1.23
>>> float(' -12345\n')
-12345.0
>>> float('1e-003')
0.001
>>> float('+1E6')
1000000.0
>>> float('-Infinity')
-inf
Modificado en la versión 3.6: se permite agrupar dígitos con guiones bajos como en los
literales de código.
Modificado en la versión
3.4:object().__format__(format_spec) aumenta TypeError si format_spec no es una
cadena vacía.
Para ver otros contenedores los incorporados en set, list, tuple, y dictclases, así como
el collections módulo.
Nota
Dado que la alteración de nombres privados ocurre en el momento de la compilación, uno
debe alterar manualmente el nombre de un atributo privado (atributos con dos guiones bajos
iniciales) para recuperarlo con getattr().
globals( )
Devuelve un diccionario que representa la tabla de símbolos global actual. Este es siempre el
diccionario del módulo actual (dentro de una función o método, este es el módulo donde se
define, no el módulo desde el que se llama).
hasattr( objeto , nombre )
Los argumentos son un objeto y una cadena. El resultado es Truesi la cadena es el nombre
de uno de los atributos del objeto, en Falsecaso contrario. (Esto se implementa llamando y
viendo si genera un o no).getattr(object, name)AttributeError
hash( objeto )
Devuelve el valor hash del objeto (si tiene uno). Los valores hash son números enteros. Se
utilizan para comparar rápidamente claves de diccionario durante una búsqueda de
diccionario. Los valores numéricos que se comparan igual tienen el mismo valor hash (incluso
si son de diferentes tipos, como es el caso de 1 y 1.0).
Nota
Para los objetos con __hash__()métodos personalizados , tenga en cuenta
que hash() trunca el valor de retorno según el ancho de bits de la máquina
host. Consulte __hash__()para obtener más detalles.
help( [ objeto ] )
Invoque el sistema de ayuda integrado. (Esta función está pensada para uso interactivo). Si
no se proporciona ningún argumento, el sistema de ayuda interactiva se inicia en la consola
del intérprete. Si el argumento es una cadena, la cadena se busca como el nombre de un
módulo, función, clase, método, palabra clave o tema de documentación, y se imprime una
página de ayuda en la consola. Si el argumento es cualquier otro tipo de objeto, se genera
una página de ayuda sobre el objeto.
Tenga en cuenta que si aparece una barra (/) en la lista de parámetros de una función al
invocarla help(), significa que los parámetros anteriores a la barra son solo
posicionales. Para obtener más información, consulte la entrada de preguntas frecuentes
sobre parámetros solo posicionales .
hex( x )
>>>
>>> hex(255)
'0xff'
>>> hex(-42)
'-0x2a'
>>>
>>> '%#x' % 255, '%x' % 255, '%X' % 255
('0xff', 'ff', 'FF')
>>> format(255, '#x'), format(255, 'x'), format(255, 'X')
('0xff', 'ff', 'FF')
>>> f'{255:#x}', f'{255:x}', f'{255:X}'
('0xff', 'ff', 'FF')
Nota
id( objeto )
Devuelve la "identidad" de un objeto. Este es un número entero que se garantiza que es único
y constante para este objeto durante su vida útil. Dos objetos con vidas útiles que no se
superponen pueden tener el mismo id() valor.
input( [ mensaje ] )
Si el argumento de solicitud está presente, se escribe en la salida estándar sin un salto de
línea al final. Luego, la función lee una línea de la entrada, la convierte en una cadena
(eliminando una nueva línea al final) y la devuelve. Cuando se lee EOF, EOFErrorse
eleva. Ejemplo:
>>>
>>> s = input('--> ')
--> Monty Python's Flying Circus
>>> s
"Monty Python's Flying Circus"
Si el readlinemódulo se cargó, input()lo utilizará para proporcionar funciones de historial y
edición de líneas elaboradas.
clase int( x , base = 10 )
Modificado en la versión 3.6: se permite agrupar dígitos con guiones bajos como en los
literales de código.
issubclass( clase , información de clase )
Nota
map( función , iterable , ... )
Devuelve un iterador que aplica la función a cada elemento de iterable , produciendo los
resultados. Si se pasan argumentos iterables adicionales , la función debe tomar esa cantidad
de argumentos y se aplica a los elementos de todos los iterables en paralelo. Con varios
iterables, el iterador se detiene cuando se agota el iterable más corto. Para los casos en los
que las entradas de la función ya están organizadas en tuplas de argumentos,
consulte itertools.starmap().
max( iterable , * [ , clave , predeterminado ] )
max( arg1 , arg2 , * args [ , clave ] )
Devuelve el elemento más grande en un iterable o el más grande de dos o más argumentos.
clase memoryview( objeto )
Nota
>>>
>>> oct(8)
'0o10'
>>> oct(-56)
'-0o70'
Si desea convertir un número entero en una cadena octal con el prefijo "0o" o no, puede
utilizar cualquiera de las siguientes formas.
>>>
>>> '%#o' % 10, '%o' % 10
('0o12', '12')
>>> format(10, '#o'), format(10, 'o')
('0o12', '12')
>>> f'{10:#o}', f'{10:o}'
('0o12', '12')
open( archivo , modo = 'r' , almacenamiento en búfer = -
1 , codificación = Ninguno , errores = Ninguno , nueva
línea = Ninguno , closefd = Verdadero , abridor = Ninguno )
mode es una cadena opcional que especifica el modo en el que se abre el archivo. Por
defecto, 'r'significa abierto para lectura en modo texto. Otros valores comunes son 'w'para
escribir (truncar el archivo si ya existe), 'x'para creación exclusiva y 'a'para agregar (lo que
en algunos sistemas Unix significa que todas las escrituras se agregan al final del archivo
independientemente de la posición de búsqueda actual). En el modo de texto, si la
codificación no se especifica la codificación utilizada es dependiente de la
plataforma: locale.getpreferredencoding(False)se llama para obtener la codificación
actual configuración regional. (Para leer y escribir bytes sin procesar, use el modo binario y
deje la codificación sin especificar). Los modos disponibles son:
Personaj
Sentido
e
'r' abierto para lectura (predeterminado)
'w' abierto para escritura, truncando el archivo primero
'x' abierto para creación exclusiva, fallando si el archivo ya existe
'a' abierto para escritura, agregando al final del archivo si existe
'b' modo binario
't' modo texto (predeterminado)
'+' abierto para actualización (lectura y escritura)
El modo predeterminado es 'r'(abierto para leer texto, sinónimo
de 'rt'). Modos 'w+'y 'w+b'abre y trunca el archivo. Modos 'r+' y 'r+b'abra el archivo
sin truncamiento.
Nota
errors es una cadena opcional que especifica cómo se deben manejar los errores de
codificación y decodificación; esto no se puede usar en modo binario. Hay una variedad de
controladores de errores estándar disponibles (enumerados en Controladores de errores ),
aunque codecs.register_error()también es válido cualquier nombre de manejo de
errores que se haya registrado . Los nombres estándar incluyen:
'strict'para generar una ValueErrorexcepción si hay un error de codificación. El
valor predeterminado de Nonetiene el mismo efecto.
'ignore'ignora los errores. Tenga en cuenta que ignorar los errores de codificación
puede provocar la pérdida de datos.
'replace'hace '?'que se inserte un marcador de reemplazo (como ) donde hay
datos mal formados.
'surrogateescape'representará los bytes incorrectos como unidades de código
sustituto bajas que van desde U + DC80 a U + DCFF. Estas unidades de código
sustituto se convertirán de nuevo en los mismos bytes cuando surrogateescapese
utilice el controlador de errores al escribir datos. Esto es útil para procesar archivos con
una codificación desconocida.
'xmlcharrefreplace'solo se admite cuando se escribe en un archivo. Los
caracteres no admitidos por la codificación se reemplazan con la referencia de carácter
XML adecuada &#nnn;.
'backslashreplace' reemplaza los datos con formato incorrecto por las secuencias
de escape con barra invertida de Python.
'namereplace'(también solo se admite al escribir) reemplaza los caracteres no
admitidos con \N{...}secuencias de escape.
Los argumentos deben tener tipos numéricos. Con tipos de operandos mixtos, se aplican las
reglas de coerción para operadores aritméticos binarios. Para los int operandos, el resultado
tiene el mismo tipo que los operandos (después de la coerción) a menos que el segundo
argumento sea negativo; en ese caso, todos los argumentos se convierten en flotantes y se
entrega un resultado flotante. Por ejemplo, regresa , pero regresa . Para una base negativa de
tipo o y un exponente no integral, se entrega un resultado complejo. Por ejemplo, devuelve un
valor cercano a .pow(10, 2)100pow(10, -2)0.01intfloatpow(-9, 0.5)3j
>>>
>>> pow(38, -1, mod=97)
23
>>> 23 * 38 % 97 == 1
True
print( * objetos , sep = '' , end = '\ n' , file = sys.stdout , flush = False )
Todos los argumentos que no son palabras clave se convierten en cadenas como
lo str()hace y se escriben en la secuencia, separados por sep y seguidos
por end . Tanto sep como end deben ser cadenas; también pueden serlo None, lo que
significa utilizar los valores predeterminados. Si no se dan objetos , print()simplemente
escribirá end .
class property( fget = None , fset = None , fdel = None , doc = None )
fget es una función para obtener un valor de atributo. fset es una función para establecer un
valor de atributo. fdel es una función para eliminar un valor de atributo. Y doc crea una cadena
de documentos para el atributo.
class C:
def __init__(self):
self._x = None
def getx(self):
return self._x
def delx(self):
del self._x
class Parrot:
def __init__(self):
self._voltage = 100000
@property
def voltage(self):
"""Get the current voltage."""
return self._voltage
class C:
def __init__(self):
self._x = None
@property
def x(self):
"""I'm the 'x' property."""
return self._x
@x.setter
def x(self, value):
self._x = value
@x.deleter
def x(self):
del self._x
clase range( parada )
reversed( seq )
Devuelve un iterador inverso . seq debe ser un objeto que tenga un __reversed__()método
o admita el protocolo de secuencia (el __len__()método y el __getitem__()método con
argumentos enteros que comienzan en 0).
Para los tipos integrados que admiten round(), los valores se redondean al múltiplo más
cercano de 10 a la potencia menos n dígitos ; si dos múltiplos son igualmente cercanos, el
redondeo se realiza hacia la opción par (por ejemplo, ambos round(0.5)y round(-
0.5)son 0y round(1.5)son 2). Cualquier valor entero es válido para n dígitos (positivo, cero
o negativo). El valor de retorno es un número entero si se omiten n dígitos o None. De lo
contrario, el valor de retorno tiene el mismo tipo que el número .
Nota
setattr( objeto , nombre , valor )
Esta es la contraparte de getattr(). Los argumentos son un objeto, una cadena y un valor
arbitrario. La cadena puede nombrar un atributo existente o un atributo nuevo. La función
asigna el valor al atributo, siempre que el objeto lo permita. Por ejemplo, es equivalente
a .setattr(x, 'foobar', 123)x.foobar = 123
Nota
Dado que la alteración de nombres privados ocurre en el momento de la compilación, uno
debe alterar manualmente el nombre de un atributo privado (atributos con dos guiones bajos
iniciales) para configurarlo con setattr().
clase slice( detener )
clase slice( iniciar , detener [ , paso ] )
Devuelve un objeto de corte que representa el conjunto de índices especificado
por . Los argumentos de inicio y paso son predeterminados . Objetos de división han de sólo
lectura atributos de datos , y que se limita a devolver los valores de los argumentos (o su
defecto). No tienen ninguna otra funcionalidad explícita; sin embargo, son utilizados por
NumPy y otros paquetes de terceros. Los objetos Slice también se generan cuando se usa la
sintaxis de indexación extendida. Por ejemplo: o . Consulte para obtener una versión
alternativa que devuelve un
iterador.range(start, stop, step)Nonestartstopstepa[start:stop:step]a[start
:stop, i]itertools.islice()
sorted( iterable , * , clave = Ninguno , reverso = Falso )
Devuelve una nueva lista ordenada de los elementos en iterable .
Tiene dos argumentos opcionales que deben especificarse como argumentos de palabra
clave.
key especifica una función de un argumento que se utiliza para extraer una clave de
comparación de cada elemento en iterable (por ejemplo, key=str.lower). El valor
predeterminado es None(comparar los elementos directamente).
@staticmethod
Transforma un método en un método estático.
Un método estático no recibe un primer argumento implícito. Para declarar un método
estático, use este modismo:
class C:
@staticmethod
def f(arg1, arg2, ...): ...
Los métodos estáticos en Python son similares a los que se encuentran en Java o C +
+. Además, consulte classmethod()una variante que es útil para crear constructores de
clases alternativos.
Como todos los decoradores, también es posible llamar a staticmethoduna función regular
y hacer algo con su resultado. Esto es necesario en algunos casos en los que necesita una
referencia a una función de un cuerpo de clase y desea evitar la transformación automática al
método de instancia. Para estos casos, use este modismo:
def regular_function():
...
class C:
method = staticmethod(regular_function)
Para obtener más información sobre los métodos estáticos, consulte La jerarquía de tipos
estándar .
Cambiado en la versión 3.10: Los métodos estáticos ahora heredan los atributos de método
( __module__, __name__, __qualname__, __doc__y __annotations__), tienen un
nuevo __wrapped__atributo, y ahora son exigibles como funciones regulares.
clase str( objeto = '' )
sum( iterable , / , inicio = 0 )
Las sumas comienzan y los elementos de un iterable de izquierda a derecha y devuelve el
total. Los elementos de los iterables son normalmente números y no se permite que el valor
inicial sea una cadena.
Para algunos casos de uso, existen buenas alternativas a sum(). La forma rápida y preferida
de concatenar una secuencia de cadenas es llamando ''.join(sequence). Para agregar
valores de punto flotante con mayor precisión, consulte math.fsum(). Para concatenar una
serie de iterables, considere usar itertools.chain().
Devuelve un objeto proxy que delega las llamadas a métodos a una clase de tipo padre o
hermana . Esto es útil para acceder a métodos heredados que se han anulado en una clase.
Hay dos casos de uso típicos para super . En una jerarquía de clases con herencia
única, super se puede usar para referirse a clases principales sin nombrarlas explícitamente,
lo que hace que el código sea más fácil de mantener. Este uso es muy similar al uso
de super en otros lenguajes de programación.
class C(B):
def method(self, arg):
super().method(arg) # This does the same thing as:
# super(C, self).method(arg)
Tenga en cuenta que super()se implementa como parte del proceso de vinculación para
búsquedas explícitas de atributos con puntos, como super().__getitem__(name). Lo hace
implementando su propio __getattribute__()método para buscar clases en un orden
predecible que admita herencia múltiple cooperativa. En consecuencia, super()no está
definido para búsquedas implícitas que utilizan declaraciones u operadores como super()
[name].
Para obtener sugerencias prácticas sobre cómo diseñar clases cooperativas usando super(),
consulte la guía para usar super () .
Con tres argumentos, devuelve un nuevo tipo de objeto. Esta es esencialmente una forma
dinámica de la classdeclaración. La cadena de nombre es el nombre de la clase y se
convierte en el __name__atributo. La tupla de bases contiene las clases base y se convierte
en el __bases__atributo; si está vacío object, se agrega la base última de todas las
clases. El diccionario dict contiene definiciones de métodos y atributos para el cuerpo de la
clase; se puede copiar o ajustar antes de convertirse en __dict__atributo. Las siguientes dos
declaraciones crean typeobjetos idénticos :
>>>
>>> class X:
... a = 1
...
>>> X = type('X', (), dict(a=1))
Consulte también Objetos de tipo .
vars( [ objeto ] )
zip( * iterables , estricto = falso )
Repita varios iterables en paralelo, produciendo tuplas con un elemento de cada uno.
Ejemplo:
>>>
>>> for item in zip([1, 2, 3], ['sugar', 'spice', 'everything nice']):
... print(item)
...
(1, 'sugar')
(2, 'spice')
(3, 'everything nice')
Otra forma de pensar zip()es que convierte las filas en columnas y las columnas en
filas. Esto es similar a transponer una matriz .
zip()es perezoso: los elementos no se procesarán hasta que se repita el iterable, por
ejemplo, mediante un forbucle o envolviéndolo en un list.
Una cosa a considerar es que los iterables a los que se pasan zip()pueden tener diferentes
longitudes; a veces por diseño y, a veces, debido a un error en el código que preparó estos
iterables. Python ofrece tres enfoques diferentes para lidiar con este problema:
>>>
zip()se utiliza a menudo en los casos en que se supone que los iterables tienen la
misma longitud. En tales casos, se recomienda utilizar la strict=True opción. Su
salida es la misma que la normal zip():
>>>
>>>
Los iterables más cortos se pueden rellenar con un valor constante para que todos los
iterables tengan la misma longitud. Esto lo hace itertools.zip_longest().
Consejos y trucos:
>>>
>>> x = [1, 2, 3]
>>> y = [4, 5, 6]
>>> list(zip(x, y))
[(1, 4), (2, 5), (3, 6)]
>>> x2, y2 = zip(*zip(x, y))
>>> x == list(x2) and y == list(y2)
True
__import__( nombre , globales = Ninguno , locales = Ninguno , fromlist = () , n
ivel = 0 )
Nota
Modificado en la versión 3.3: los valores negativos para el nivel ya no son compatibles (lo que
también cambia el valor predeterminado a 0).
Notas al pie
1
Tenga en cuenta que el analizador solo acepta la convención de fin de línea de estilo Unix. Si
está leyendo el código de un archivo, asegúrese de utilizar el modo de conversión de nueva
línea para convertir nuevas líneas al estilo de Windows o Mac.
Constantes Integradas
Un pequeño número de constantes viven en el espacio de nombres integrado. Son:
False
El valor falso del booltipo. Las asignaciones a False son ilegales y plantean a SyntaxError.
True
El verdadero valor del booltipo. Las asignaciones a True son ilegales y plantean
a SyntaxError.
None
Objeto que se utiliza con frecuencia para representar la ausencia de un valor, como cuando
los argumentos predeterminados no se pasan a una función. Las asignaciones a None son
ilegales y plantean a SyntaxError. Nonees la única instancia del NoneTypetipo.
NotImplemented
Un valor especial que debe ser devuelto por los métodos especiales binarios (por
ejemplo __eq__(), __lt__(), __add__(), __rsub__(), etc.) para indicar que la operación
no se lleva a cabo con respecto al otro tipo; pueden ser devueltos por los métodos en lugar
binarios especiales (por ejemplo __imul__(), __iand__(), etc.) para el mismo propósito. No
debe evaluarse en un contexto booleano. NotImplementedes la única instancia
del types.NotImplementedTypetipo.
Nota
Ellipsis
Lo mismo que la elipsis literal “ ...”. Valor especial utilizado principalmente junto con la
sintaxis de segmentación extendida para tipos de datos de contenedor definidos por el
usuario. Ellipsises la única instancia del types.EllipsisTypetipo.
__debug__
Esta constante es verdadera si Python no se inició con una -Oopción. Consulte también
la assertdeclaración.
Nota
quit( código = Ninguno )
exit( código = Ninguno )
Objetos que, cuando se imprimen, imprimen un mensaje como "Use quit () o Ctrl-D (es decir,
EOF) para salir", y cuando se llaman, aumentan SystemExitcon el código de salida
especificado.
copyright
credits
Objetos que al ser impresos o llamados imprimen el texto de derechos de autor o créditos,
respectivamente.
license
Objeto que, cuando se imprime, imprime el mensaje “Escriba la licencia () para ver el texto
completo de la licencia” y, cuando se le llama, muestra el texto completo de la licencia en
forma de buscapersonas (una pantalla a la vez).