Objekt - orientert programmeringsspråk består i hovedsak av "førsteklasses " objekter . Disse objektene representerer komplekse datatyper skapt av programmereren. Programmeringsspråket Python utvider oppfatningen av hva et objekt er . I Python , alt er et objekt , inkludert funksjoner. Dette betyr at en programmerer kan bruke funksjoner som data på samme måte som de ville bruke variabler og objekter. For å forstå hva førsteklasses funksjoner er , må programmereren forstå objektorientert programmering , funksjoner , og hvordan de to jobber sammen i Python . Objekter
I objektorientert programmering, er nøkkelen konsept som av " objektet ". Et objekt er en datatype laget av en programmerer for å representere en enhet med data og funksjoner . Mens andre datatyper er enkle representasjoner av verdi , for eksempel heltall eller tegn , gjenstander er komplekse , inkludert mange dataverdier og funksjoner . Men objektene fortsatt oppfører seg som andre datatyper i at de kan opprettes , ødelagt , kopieres og brukes som argumenter for andre funksjoner .
First -Class objekter
Først - klasse objekter er objekter som kan opprettes eller ødelagt , eller brukes som argumenter til funksjoner. I de fleste objektorienterte programmeringsspråk , alle objekter er førsteklasses stedene. Men andre enheter , for eksempel funksjoner, er ikke førsteklasses stedene. En funksjon i C + + oppfører seg ikke som et objekt i C + + oppfører seg , så det er en tydelig forskjell mellom de to ved implementering av C + + -kode.
Python og objekter
< p> en populær sier om programmeringsspråket Python sier at " Alt er et objekt . " Sier er sant. Alt i Python ikke opptrer som et objekt . Spesielt funksjoner er førsteklasses objekter i Python . Dette gjør funksjoner "førsteklasses funksjoner " som programmerere kan passere som argumenter til andre funksjoner . Dette betyr at funksjoner har også et sett av attributter som ligner på klasser , som lagrer data om en bestemt forekomst av et utførende funksjon .
Eksempler
I dette eksemplet programmerer oppretter to enkle funksjoner . Det første hun definerer som en vanlig funksjon , med en variabel argument. Den andre bruker deretter den første funksjonen i sin argumentasjon listen. Den andre funksjonen kan da kalle den første funksjonen i sin definisjon . Funksjonen kalles inni den andre funksjonen kan bruke lokale variabler inne i funksjon som heter det : en
>>> def func1 ( x ) : en
. . . Avkastningen x * 3
>>> def func2 ( f, y ) : //"f " representerer en funksjon , men ser det samme som en variabel
. . . Avkastningen f ( y ) //Python vet f er en funksjon fordi den brukes som en
>>> func2 ( func1 , 3 )
9