1. Siempre me entero tarde de todo. Esta vez de las pegatinas virtuales que generosamente ha creado Victor para la blogocosa canaria. Mil gracias.

    ornitorrinco

    En cuanto el pequeño ornitorrinco me deje, me hago la camiseta correspondiente.
    3

    Ver comentarios

  2. Ups... Pues ya estamos aquí.

    ¡Buen trabajo, Scotty!
    7

    Ver comentarios

  3. Nos pasamos al nuevo blogger beta ¡Qué Doraemon nos coja confesados!
    0

    Añadir un comentario

  4. ¡El cabrón de Pinochet ha muerto!

    fireworks

    A ver si este le sigue pronto:

    village_bush
    6

    Ver comentarios

  5. Los desarrolladores de NumPy tenían un problema que sólo se podía resolver añadiendo un nuevo método especial, __index__. Al usar la notación de recorte (slices), o sea, cosas como [inicio:final:incremento] , los valores de inicio, final e incremento debían ser siempre enteros o enteros largos. NumPy, sin embargo, define un conjunto de tipos de números enteros especializados, por ejemplo, enteros con signo o sin signo, con tamaños de 8, 16, 32 o 64 bits. El problema era que no había ningún sistema para indicar que estos tipos también podían ser usados como índices en las operaciones de recorte.

    Es verdad que ya existía el método especial __int__, que se utiliza para realizar una conversión implícita a números enteros. Sin embargo, utilizar dicho método provocaría que los números en coma flotante también serían utilizables como índices en las operaciones de recorte, un comportamiento que es claramente poco deseable.

    Por eso se ha introducido el nuevo método especial __index__. No acepta ningún argumento, y devuelve un entero que se utilizará para las operaciones de recorte. Por ejemplo:

    class C:
    def __index__(self):
    return self.value


    El valor retornado debe ser obligatoriamente un entero o un entero largo de Python. El interprete comprobará el tipo, y elevará una excepción de tipo TypeError en caso de no cumplirse esta restricción.

    Para los que estén escribiendo extensiones en C, se ha añadido una entrada o slot nb_index en la estructura PyNumberMethods, que permite a las extensiones implementar este protocolo. Se puede utilizar PyNumber_Index(obj) para llamar a la función __index__ y obtener su resultado.

    Se puede obtener más información de esta ampliación leyendo el PEP original: PEP 357, Allowing Any Object to be Used for Slicing.



    Más información sobre las novedades en Python 2.5
    0

    Añadir un comentario

Archivo del blog
Etiquetas
Etiquetas
Enlaces interesantes
Cargando