Python statische methode

Python statische methode

In deze snelle post zullen we leren hoe we een Python statische methode kunnen maken en gebruiken. We zullen ook kijken naar de voor- en nadelen van statische methoden ten opzichte van instantiemethoden. Laten we beginnen.

Wat is een statische methode?

Statische methoden in Python lijken erg op methoden op klasseniveau, met als verschil dat een statische methode gebonden is aan een klasse in plaats van aan de objecten van die klasse. Dit betekent dat een statische methode kan worden aangeroepen zonder een object voor die klasse. Dit betekent ook dat statische methoden de toestand van een object niet kunnen wijzigen omdat ze er niet aan gebonden zijn. Laten we eens kijken hoe we statische methoden kunnen maken in Python.

Het maken van python statische methoden

Statische methoden in Python kunnen op twee manieren worden gemaakt. Laten we hier elke manier bekijken:

Met staticmethod()

Laten we direct naar een voorbeeldcodefragment springen over hoe het staticmethod()-benadering te gebruiken:

class Calculator:

    def addNumbers(x, y):
        return x + y

# creëer addNumbers statische methode
Calculator.addNumbers = staticmethod(Calculator.addNumbers)

print('Product:', Calculator.addNumbers(15, 110))

Merk op dat we de addNumbers die we hebben gemaakt hebben aangeroepen zonder een object. Wanneer we dit programma uitvoeren, is dit de output die we zullen krijgen: Er waren geen verrassingen. Deze benadering is gecontroleerd omdat op elk punt het mogelijk is om een statische methode te maken van een klasse-methode. Laten we een andere benadering zien met hetzelfde voorbeeld hier.

Met @staticmethod

Dit is een subtielere manier om een ​​statische methode te maken omdat we niet afhankelijk zijn van een statementdefinitie van een methode als een klasse-methode en het statisch maken op elk punt waarop je het statisch maakt. Laten we deze annotatie gebruiken in een codefragment:

class Calculator:

    # creëer addNumbers statische methode
    @staticmethod
    def addNumbers(x, y):
        return x + y

print('Product:', Calculator.addNumbers(15, 110))

Wanneer we dit programma uitvoeren, is dit de output die we zullen krijgen: Dit was eigenlijk een veel betere manier om een statische methode te maken, omdat de bedoeling om de methode statisch te houden meteen duidelijk is zodra we deze maken en markeren met de @staticmethod annotatie.

Voordelen van Python statische methode

Statische methoden hebben een zeer duidelijk gebruiksscenario. Wanneer we functionaliteit nodig hebben die niet met een object te maken heeft maar met de volledige klasse, maken we een methode statisch. Dit is behoorlijk voordelig wanneer we Hulpprogramma-methoden moeten maken, omdat ze meestal niet gekoppeld zijn aan de levenscyclus van een object. Merk ten slotte op dat in een statische methode het niet nodig is om self door te geven als het eerste argument. API Referentie: Python-documentatie

Source:
https://www.digitalocean.com/community/tutorials/python-static-method