Articles of métodos

Muy extraño comportamiento del operador ‘es’ con métodos.

¿Por qué es False el primer resultado, si no es True ? >>> from collections import OrderedDict >>> OrderedDict.__repr__ is OrderedDict.__repr__ False >>> dict.__repr__ is dict.__repr__ True

Comprensión de listas tipo Python en Java

Ya que Java no permite pasar métodos como parámetros, ¿qué truco usas para implementar la comprensión de listas tipo Python en Java? Tengo una lista (ArrayList) de cadenas. Necesito transformar cada elemento usando una función para obtener otra lista. Tengo varias funciones que toman una cadena como entrada y devuelvo otra cadena como salida. ¿Cómo […]

Python: asignar dinámicamente los métodos de clase

Esencialmente esto es lo que quiero lograr: class Move(object): def __init__(self, Attr): if Attr: self.attr = Attr if hasattr(self, “attr”): __call__ = self.hasTheAttr else: __call__ = self.hasNoAttr def hasNoAttr(self): #no args! def hasTheAttr(func, arg1, arg2): #do things with the args __call__ = hasNoAttr Sé que eso no funciona, solo usa hasNoAttr todo el tiempo. Mi […]

Python – Pasar argumentos a diferentes métodos de Argparse

Estoy escribiendo un script de Python relativamente simple que admite un par de comandos diferentes. Los diferentes comandos admiten diferentes opciones y quiero poder pasar las opciones analizadas por argparse al método correcto para el comando especificado. La cadena de uso se ve así: usage: script.py [-h] {a, b, c} … script.py: error: too few […]

¿Debo, y cómo, agregar métodos a int en python?

(Esta es una pregunta relacionada con el aprendizaje, así que cualquier consejo sobre por qué debo hacer o no hacer algo, así como los recursos recomendados para mejorar estas cosas, es más que bienvenido). Estoy tratando de aprender sobre la POO en python, y he hecho una clase simple de “Tiempo” como esta: class Time(object): […]

¿Python realmente crea todos los métodos enlazados para cada nueva instancia?

Estoy leyendo sobre las clases en Python (3.4) y por lo que entiendo, parece que cada nuevo objeto tiene sus propias instancias de métodos enlazados. class A: def __init__(self, name): self.name = name def foo(self): print(self.name) a = A(‘One’) b = A(‘Two’) print(a.foo == b.foo) La salida de esto es False . Esto me parece […]

¿Cómo encadenar vistas en Django?

Estoy implementando la excelente forma de contacto con django de James Bennett , pero he tenido un problema. Mi página de contacto no solo contiene el formulario, sino también información adicional de la página plana. Sin volver a escribir la vista existente que utiliza el formulario de contacto, me gustaría poder ajustar o encadenar las […]

¿Cómo capturar cualquier método llamado en un objeto en python?

Estoy buscando una solución pythonic sobre cómo almacenar un método que se llama en un objeto justo dentro del objeto. Porque en Python, si quiero capturar, por ejemplo, el método abs() , sobrecargaré este operador como: Catcher(object): def __abs__(self): self.function = abs c = Catcher() abs(c) # Now c.function stores ‘abs’ as it was called […]

Regla de Simpson en Python

Para una clase de métodos numéricos, necesito escribir un progtwig para evaluar una integral definida con la regla compuesta de Simpson. Ya llegué tan lejos (ver más abajo), pero mi respuesta no es correcta. Estoy probando el progtwig con f (x) = x, integrado sobre 0 a 1, para lo cual el resultado debería ser […]

Asignar dinámicamente métodos especiales a objetos pero no a clases en Python

Me gustaría hacer lo siguiente: class A(object): pass a = A() a.__int__ = lambda self: 3 i = int(a) Desafortunadamente, esto arroja: Traceback (most recent call last): File “”, line 1, in TypeError: int() argument must be a string or a number, not ‘A’ Esto solo parece funcionar si asigno el método “especial” a la […]