Python är ett av de mest populära programmeringsspråken i världen , enligt Tiobe Index . Python är en högre nivå språk , programmerare behöver inte hantera minne . Pythons magiska metoder är en något obskyr del av Python . De nämns i språkreferensen men är inte grundligt dokumenterade eller tillgänglig för referens på ett enda ställe . Pythons magiska metoder tillåter dess standardbeteende att bli åsidosatt av programmeraren . Detta kan vara en användbar funktion när standard beteende Python gör kodning besvärligt . Magiska metoder kan också vara farligt . Deras kraftfulla natur innebär att de kan ge upphov till oväntade resultat . Magiska metoder är alltid omgiven av dubbla understreck . Objektorienterad programmering
Objektorienterad programmering , eller OOP , visningar program som ett samhälle av samverkande objekt i stället för en lista med instruktioner . Detta skiljer OOP från traditionella
imperativ stil programmering . I stället för att lämna datorn en lista med instruktioner för att utföra , OOP programmerare definiera "objekt" och deras beteenden . OOP programmerare orkestrera dessa objekt för att producera användbara program .
Klasser och metoder
det viktigaste verktyget OOP programmerare har till sitt förfogande för att skapa objekt är klassen . Klassen är en speciell typ av objekt vars jobb är att göra andra objekt . Klasser kan " ärva " från andra klasser eller kopiera deras beteende . De " beteenden " i en klass som programmerare definierar kallas " Methods ". Objekt kan också lagra värden. Dessa värden kallas " medlemsvariabler . " Addera ditt " __call__ "
En viktig magiska metoden är " __call__ " som gör det möjligt för programmerare att göra ett objekt handling gillar en enkel funktion . Detta kan vara användbart om föremålet i fråga är begreppsmässigt en funktion , men genomförandet är objektorienterad . För att använda " __call__ " magisk metod , måste " __call__ " metoden definieras i garantikapital klassen .
" __getattr__ "
Detta magiska metoden tillåter programmeraren att åsidosätta hur medlemsländer värden av en klass kan nås . Detta är en mycket mångsidig magisk metod och är användbar för att använda Pythons objektorienterad syntax för att komma åt delar av ett " objekt " som inte är objektorienterat. Till exempel är denna funktion används i " Beautiful Soup, " en HTML parsing bibliotek . Metoden " __getattr_ " gör att användare av " Beautiful Soup " att korsa HTML med Pythons OOP syntax .
" __setattr__ "
Denna metod är mindre vanliga än " __getattr__ . " Metoden " __setattr__ " är ett sätt för programmerare att åsidosätta standardinställningen för inställning medlemsvariabler . Denna metod är särskilt farliga. Det bör inte användas på måfå eftersom det kan göra för mycket tät oläslig kod .