Articles of métodos

¿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 […]

Cómo escribir métodos del mismo nombre con diferentes parámetros en python

Estoy aprendiendo Python (3.x) desde un fondo de Java. Tengo un progtwig en Python donde creo un objeto de persona y lo añado a una lista. p = Person(“John”) list.addPerson(p) Pero por flexibilidad, también quiero poder declararlo directamente en el método addPerson, así: list.addPerson(“John”) El método addPerson podrá diferenciar si estoy enviando o no un […]

¿Adjuntar dinámicamente un método a un objeto Python existente generado con swig?

Estoy trabajando con una clase de Python y no tengo acceso de escritura a su statement. ¿Cómo puedo adjuntar un método personalizado (como __str__ ) a los objetos creados a partir de esa clase sin modificar la statement de la clase? EDIT: Gracias por todas sus respuestas. Los probé todos pero no han resuelto mi […]

Diferencia entre operadores y métodos.

¿Hay alguna diferencia sustancial entre los operadores y los métodos? La única diferencia que veo es la forma en que se llaman, ¿tienen otras diferencias? Por ejemplo, en Python, la concatenación, la segmentación y la indexación se definen como operadores, mientras que (en referencia a las cadenas) upper() , replace() , strip() etc., son métodos.

¿Cómo funciona python numpy.where ()?

Estoy jugando con los numpy y rebuscando en la documentación y he encontrado algo de magia. Es decir, estoy hablando de numpy.where() : >>> x = np.arange(9.).reshape(3, 3) >>> np.where( x > 5 ) (array([2, 2, 2]), array([0, 1, 2])) ¿Cómo logran internamente que puedas pasar algo como x > 5 a un método? Supongo […]

Al llamar a un método de clase se genera un TypeError en Python

No entiendo cómo se usan las clases. El siguiente código me da un error cuando bash usar la clase. class MyStuff: def average(a, b, c): # Get the average of three numbers result = a + b + c result = result / 3 return result # Now use the function `average` from the `MyStuff` […]

El método de clase genera “TypeError: … tiene varios valores para el argumento de palabra clave …”

Si defino un método de clase con un argumento de palabra clave así: class foo(object): def foodo(thing=None, thong=’not underwear’): print thing if thing else “nothing” print ‘a thong is’,thong llamar al método genera un TypeError : myfoo = foo() myfoo.foodo(thing=”something”) … TypeError: foodo() got multiple values for keyword argument ‘thing’ ¿Que esta pasando?