Python spesielle metoder

Python er et av de mest populære programmeringsspråk i verden, ifølge Tiobe Index. Python er et høyere nivå språk; programmerere trenger ikke å administrere minne. Python magiske metoder er en litt obskur del av Python. De er nevnt i Språk referanse, men ikke grundig dokumentert eller tilgjengelig for referanse på ett sted. Python magiske metoder tillate standard oppførsel for å bli overstyrt av programmerer. Dette kan være en nyttig funksjon når standardvirkemåten Python gjør koding tungvint. Magiske metoder kan også være farlig. Deres mektige naturen betyr at de kan føre til uventede resultater. Magiske metoder er alltid omgitt av doble strek.

Objektorientert programmering

Objektorientert programmering, eller OOP, utsikt mot programmer som samfunn å kommunisere gjenstander i stedet for en liste med instruksjoner. Dette skiller OOP fra tradisjonell

maktpåliggende-stil programmering. I stedet for å overlate maskinen en liste med instruksjoner for å utføre, OOP programmerere definere "objekter" og deres atferd. OOP programmerere organisere disse objektene for å produsere nyttige programmer.

Klasser og metoder

De viktigste verktøy OOP programmerere har til rådighet for å lage objekter er klassen. Klassen er en spesiell type objekt hvis jobb er å gjøre andre objekter. Klassene kan "arve" fra andre klasser eller kopiere deres atferd. Den "oppførsel" av en klasse som programmerere definerer kalles "metoder". Objekter kan også lagre verdier. Disse verdiene er kalt «medlemsvariable».

"__anrop__"

En viktig magiske metoden er "samtale" som gjør at programmerer å lage et objekt fungere som en enkel funksjon. Dette kan være nyttig hvis det aktuelle objektet er konseptuelt en funksjon, men gjennomføringen er objektorientert. For å bruke "call" magiske metoden, må "ringe" metoden defineres i Callable klassen.

"__getattr__"

Denne magiske metoden gjør at programmerer å overstyre hvordan medlems verdier av en klasse er tilgjengelig. Dette er en svært allsidig magisk metode og er nyttig for å bruke Pythons objektorientert syntaks for å få tilgang til deler av et "objekt" som ikke er objektorientert. For eksempel er denne funksjonen brukes i "Vakker Soup", en HTML parsing bibliotek. Metoden "_ getattr" lar brukere av "Vakkert suppe" å krysse HTML ved hjelp Pythons OOP syntaks.

"__setattr__"

Denne metoden er mindre vanlig enn "getattr". Metoden "setattr" gir en måte for programmerere å overstyre standardvirkemåten for å sette medlem variabler. Denne fremgangsmåte er spesielt farlig. Det bør ikke brukes på måfå som det kan gjøre for svært tett uleselig kode.