Articles of métodos estáticos de

Métodos estáticos de Python: cómo llamar a un método desde otro método

Cuando tengo métodos regulares para llamar a otro método en una clase, tengo que hacer esto class test: def __init__(self): pass def dosomething(self): print “do something” self.dosomethingelse() def dosomethingelse(self): print “do something else” pero cuando tengo métodos estáticos no puedo escribir self.dosomethingelse() Porque no hay instancia. ¿Qué debo hacer en Python para llamar a un […]

¿Se puede usar un método como método estático o método de instancia?

Me gustaría poder hacer esto: class A(object): @staticandinstancemethod def B(self=None, x, y): print self is None and “static” or “instance” AB(1,2) A().B(1,2) Esto parece ser un problema que debería tener una solución simple, pero no puedo pensar o encontrar una.

Python: verifica si el método es estático

Asume la siguiente definición de clase: class A: def f(self): return ‘this is f’ @staticmethod def g(): return ‘this is g’ a = A() Entonces f es un método normal y g es un método estático. Ahora, ¿cómo puedo verificar si los objetos de función af y ag son estáticos o no? ¿Hay una función […]

Python: asignar un método estático a una variable de clase genera un error

Quiero asignar un método estático a una variable de clase en Python, y a continuación se muestra mi código. class Klass: classVariable = None @staticmethod def method(): print “method called” Klass.classVariable = Klass.method Klass.method() Klass.classVariable() Esto me dio un error en la última línea, TypeError: unbound method method() must be called with Klass instance as […]

`staticmethod` y` abc.abstractmethod`: ¿Se mezclará?

En mi aplicación Python quiero crear un método que sea tanto un staticmethod como un abc.abstractmethod . ¿Cómo hago esto? Intenté aplicar ambos decoradores, pero no funciona. Si hago esto: import abc class C(object): __metaclass__ = abc.ABCMeta @abc.abstractmethod @staticmethod def my_function(): pass Obtengo una excepción *, y si hago esto: class C(object): __metaclass__ = abc.ABCMeta […]

Uso de métodos estáticos en python – mejores prácticas

¿Cuándo y cómo se supone que se usan los métodos estáticos en Python? Ya hemos establecido que utilizar un método de clase como método de fábrica para crear una instancia de un objeto debe evitarse cuando sea posible. En otras palabras, no es una buena práctica usar métodos de clase como un constructor alternativo (vea […]

Función de módulo vs método estático vs método de clase vs no decoradores: ¿Qué idioma es más pythonic?

Soy un desarrollador de Java que ha jugado con Python de forma intermitente. Recientemente me topé con este artículo que menciona errores comunes que cometen los progtwigdores de Java cuando seleccionan Python. El primero me llamó la atención: Un método estático en Java no se traduce a un método de clase Python. Oh, claro, da […]

Métodos estáticos en Python?

¿Es posible tener métodos estáticos en Python para poder llamarlos sin inicializar una clase, como: ClassName.StaticMethod ( )