Función Python staticmethod()

La función staticmethod() de Python se usa para convertir una función en una función estática. Un método estático es un método que pertenece a una clase en lugar de una instancia de una clase. Los métodos estáticos no requieren instanciación. 

Sintaxis: método estático (función)

Parámetro:

El método staticmethod() toma un único argumento, es decir, toma una función como argumento.

Devoluciones:

staticmethod() devuelve un método estático de la función pasada como argumento.

Ejemplo 1: Implementación para la aplicación de staticmethod()

Python3

class demoClass:
 
    def greet(msg):
        return msg
 
 
# convert the add to a static method
demoClass.greet = staticmethod(demoClass.greet)
 
# we can access the method without
# creating the instance of class
print(demoClass.greet("hai"))

Producción:

hai

En el código anterior, se crea una clase con el método greeting(), luego se convierte al método estático usando staticmethod(), y se llama sin crear una instancia, como hemos discutido anteriormente, no es necesario crear una instancia de la clase para llamar a un método estático.

Ejemplo 2: Implementación para la aplicación de staticmethod()

Python3

class demoClass:
 
    def __init__(self, a, b):
        self.a = a
        self.b = b
 
    def add(a, b):
        return a+b
 
    def diff(self):
        return self.a-self.b
 
 
# convert the add to a static method
demoClass.add = staticmethod(demoClass.add)
 
# we can access the method without creating
# the instance of class
print(demoClass.add(1, 2))
 
# if we want to use properties of a class
# then we need to create a object
Object = demoClass(1, 2)
print(Object.diff())

Producción:

3
-1

Si no necesitamos usar las propiedades de clase, entonces podemos usar métodos estáticos, aquí en el código anterior, el método add() no usa ninguna propiedad de clase, por lo que se hace estático usando staticmethod() y se debe llamar al método diff creando una instancia porque usa propiedades de clase.

Publicación traducida automáticamente

Artículo escrito por pulamolusaimohan y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *