Articles of operadores de

¿Cómo puedo anular las comparaciones entre ndarray de NumPy y mi tipo?

En NumPy, es posible usar el atributo __array_priority__ para tomar el control de los operadores binarios que actúan sobre un ndarray y un tipo definido por el usuario. Por ejemplo: class Foo(object): def __radd__(self, lhs): return 0 __array_priority__ = 100 a = np.random.random((100,100)) b = Foo() a + b # calls b.__radd__(a) -> 0 Lo […]

Si x es la lista, ¿por qué x + = “ha” funciona, mientras que x = x + “ha” lanza una excepción?

Por lo poco que sé, + op para listas solo requiere que el segundo operando sea iterable, lo que “ha” claramente es. En codigo: >>> x = [] >>> x += “ha” >>> x [‘h’, ‘a’] >>> x = x + “ha” Traceback (most recent call last): File “”, line 1, in TypeError: can only […]

Cuerdas, ints y operadores en Python

¿Cómo puedo usar un operador aritmético (entrada por parte del usuario como una cadena) en una operación? Puedo imprimir la operación en sí, ¡pero quiero imprimir la solución! Aquí está mi torpe bash: # Initialise variables x = 2 y = 3 # Prompt the user for an arithmetic operator operator = input(“Please enter *, […]

¿Cómo sobrecargar `float ()` para una clase personalizada en Python?

Resumen ¿Cómo puedo sobrecargar el float incorporado para mi clase, de modo que cuando llamo a float() en una instancia de él, se llama a mi función personalizada en lugar del incorporado por defecto? Mi clase Hola, estaba codificando mi propia clase de Fractions (para una precisión de operación de punto flotante arbitrariamente alta). Funciona […]

+ y + = los operadores son diferentes?

>>> c = [1, 2, 3] >>> print(c, id(c)) [1, 2, 3] 43955984 >>> c += c >>> print(c, id(c)) [1, 2, 3, 1, 2, 3] 43955984 >>> del c >>> c = [1, 2, 3] >>> print(c, id(c)) [1, 2, 3] 44023976 >>> c = c + c >>> print(c, id(c)) [1, 2, 3, […]

Python aumentando múltiples variables en línea

¿Por qué funciona esto? >> x, y = (1, 2) >> print x, y 1 2 Pero boost los resultados en errores de syntax … >> x, y -= (1, 2) SyntaxError: illegal expression for augmented assignment ¿Hay alguna forma diferente, esperaba? >> x, y -= (1, 2) >> print x, y 0 0

Operación lógica de Python

Soy bastante nuevo en Python y estoy trabajando en un proyecto de raspado web utilizando la biblioteca Scrapy. No estoy usando la restricción de dominio incorporada porque quiero verificar si alguno de los enlaces a páginas fuera del dominio está muerto. Sin embargo, todavía quiero tratar las páginas dentro del dominio de manera diferente a […]

Nuevos operadores en Python

Podemos definir operadores intrínsecos de Python como se indica aquí . Solo por curiosidad, ¿podemos definir nuevos operadores como $ o *** ? (Si es así, entonces podemos definir operadores de condición ternaria o operadores de rotación).

Anulación del operador conmutativo de Python

Hola Me preguntaba si hay una manera de hacer una anulación de un operador simétrico en Python. Por ejemplo, digamos que tengo una clase: class A: def __init__(self, value): self.value = value def __add__(self, other): if isinstance(other, self.__class__): return self.value + other.value else: return self.value + other Entonces puedo hacer: a = A(1) a + […]

¿Es posible sobrecargar lógico y en Python?

Tenía la impresión de que era posible sobrecargar and en Python, pero al leer los documentos justo ahora, me di cuenta de que __and__ refiere al operador bitwise, no lógico and . ¿Estoy pasando por alto algo, o no es posible sobrecargar la lógica and en Python?