Puede haber alguna funcionalidad que se relacione con la clase, pero no requiere ninguna instancia para realizar algún trabajo; en tales casos, se pueden usar métodos estáticos. Un método estático es un método que está vinculado a la clase y no al objeto de la clase. No puede acceder ni modificar el estado de la clase. Está presente en una clase porque tiene sentido que el método esté presente en la clase. Un método estático no recibe un primer argumento implícito.
Syntax: class C(object): @staticmethod def fun(arg1, arg2, ...): ... Returns: a static method for function fun.
Cuando @staticmethod
se llama a la función decorada con, no le pasamos una instancia de la clase como se hace normalmente con los métodos. Significa que la función se coloca dentro de la clase pero no puede acceder a la instancia de esa clase.
Ejemplo 1:
# Python program to # demonstrate static methods class Maths(): @staticmethod def addNum(num1, num2): return num1 + num2 # Driver's code if __name__ == "__main__": # Calling method of class # without creating instance res = Maths.addNum(1, 2) print("The result is", res)
Producción:
The result is 3
Ejemplo #2:
# Python program to # demonstrate static methods class Person: def __init__(self, name, age): self.name = name self.age = age # a static method to check if a Person is adult or not. @staticmethod def isAdult(age): return age > 18 # Driver's code if __name__ == "__main__": res = Person.isAdult(12) print('Is person adult:', res) res = Person.isAdult(22) print('\nIs person adult:', res)
Producción:
Is person adult: False Is person adult: True
Publicación traducida automáticamente
Artículo escrito por nikhilaggarwal3 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA