objektorienteret programmering sprog består primært af "first-class " objekter . Disse objekter repræsenterer komplekse datatyper skabt af programmøren . Programmeringssproget Python udvider begrebet , hvad en genstand er. I Python, er alt en genstand , herunder funktioner. Det betyder, at en programmør kan bruge funktioner som data på samme måde, de ville bruge variabler og objekter. For at forstå hvad førsteklasses funktioner er , skal programmøren forstå objektorienteret programmering , funktioner og hvordan de to arbejder sammen i Python. Objekter
objektorienteret programmering , nøglebegrebet er, at den "objekt ". Et objekt er en datatype skabt af en programmør til at repræsentere en enhed med data og funktioner. Mens andre datatyper er enkle repræsentationer af værdi såsom heltal eller tegn , objekter er komplekse, herunder mange dataværdier og funktioner. Men objekter stadig opfører sig som andre datatyper , idet de kan være skabt , ødelagt, kopieres og bruges som argumenter for andre funktioner.
Førsteklasses objekter
p første klasse er objekter , der kan oprettes eller ødelagt , eller anvendes som argumenter til funktioner. I de fleste objektorienterede programmeringssprog , er alle objekter førsteklasses objekter. Men andre enheder , såsom funktioner, ikke er førsteklasses objekter. En funktion i C + + ikke opfører sig som et objekt i C + + opfører , så der er en tydelig forskel mellem de to , når de gennemfører C + + kode.
Python og objekter
< p> en populær talemåde om programmeringssproget Python siger, at " Alt er et objekt . " Det ordsprog er sandt. Alt i Python har handlet som et objekt . Konkret funktioner er førsteklasses objekter i Python. Dette gør funktioner "første klasses funktioner" , som programmører kan passere som argumenter til andre funktioner. Det betyder, at funktioner har også et sæt attributter ligner klasser, som lagrer data om et bestemt instans af en fuldbyrdende funktion.
Eksempler
I dette eksempel programmør opretter to simple funktioner . Den første hun definerer som en normal funktion, med én variabel argument. Den anden bruger derefter den første funktion i sin argumentation listen. Den anden funktion kan derefter kalde den første funktion inde i sin definition. Funktionen kaldes inde i anden funktion kan bruge de lokale variable inde i funktion, kaldte det : Hej
>>> def func1 (x ) : Hej
. . . tilbagevenden x * 3 fotos
>>> def func2 ( f, y ) : //" f " repræsenterer en funktion , men ser det samme som en variabel
. . . tilbagevenden f (y) //Python kender f er en funktion , fordi den bruges som en
>>> func2 ( func1 , 3)
9