Python er et fortolket programmeringssprog, der giver design-time optimering ved brug af dynamiske funktioner. Dynamiske funktioner tillader dele af kode til at generere funktioner, og så efterfølgende kalde dem under run-time . Når den gennemføres korrekt , dynamiske funktioner forbedrer kode læsbarhed , forkorte eksekverbare længde og kan endda resultere i tid og hukommelse forbedringer under udførelsen af programmet . Historie
Python og andre programmeringssprog traditionelt gennemføre statisk kode. I denne metode til programmering , skriver en programmør , der køres af brugere , men koden er ikke og kan ikke ændre sig for at tilpasse sig brugerens input eller ændring af systemets begivenheder. En ny type kodning kapacitet, der kaldes dynamiske metoder eller selvstændige ændre kode tillader selve programmet til rent faktisk at ændre sin egen logik . Dynamiske funktioner i Python er et eksempel på ikke- vedvarende ændring , det er, en programmør udvikler et sæt rammer, der fortsætter statisk i kildekoden , og senere , opkald til funktionen dynamik rammer kun midlertidigt ændre udførelsen af koden < br . >
Implementering
Python implementerer dynamiske funktioner ved hjælp af søgeordet " lambda " efterfulgt af funktionen logik til at definere rammer og "map " søgeord til at skabe den dynamiske funktion senere i kode . Kombinationen af disse søgeord resultater i run-time kontrol over, hvilke funktioner der er drevet og samlet i hukommelsen. På back-end , tildeler " lambda " søgeord rammer i hukommelsen. Når et "kort " søgeord kører , koden udfylder rammerne med de givne værdier , og tildeler en anonym funktion i hukommelsen med det givne input.
Optimering
Dynamiske funktioner i Python tilbyder enorme hukommelse forbedringer over statiske funktioner. Funktion definitioner ( minus den statiske rammer for funktionen ) kan opbevares i en fil eller variabel , eller endda sendes over nettet end koden , øge fleksibiliteten . Når en dynamisk funktion er ikke længere brug af programmet, kan programmøren unallocate den hukommelse, der bruges af funktionen , hvilket frigør værdifulde systemressourcer, der ellers ville være blevet hamstret af programmet.
Komplikationer < br >
Kritikere af dynamiske metoder og selvstændige ændre kode ofte anledning til bekymring om kode læsbarhed , tab af effektivitet og uforudsigelige resultater . En lille delmængde af situationer, hvor dynamiske funktioner er hensigtsmæssige - altså når de gennemfører flere funktioner med lignende logik , der let kan indvindes, og føljeton . Ukorrekt gennemførelse ofte resulterer i rodet kode, som ser mere kompliceret , end hvis programmøren havde brugt statiske funktioner. Udviklere nødt til at overveje anvendelighed , potentielle hukommelse gevinst eller tab og kode kompleksitet , før gennemførelsen af dynamiske funktioner.