Objektorienterad programmering språk består i huvudsak av "första klassens " objekt . Dessa objekt representerar komplexa datatyper som skapas av programmeraren . Programmeringsspråket Python utvidgar föreställningen om vad ett objekt är . I Python , är allt ett objekt , inklusive funktioner . Detta innebär att en programmerare kan använda funktioner som data på samma sätt som de skulle använda variabler och objekt . För att förstå vad förstklassiga funktioner , måste programmeraren förstår objektorienterad programmering , funktioner , och hur de två arbetar tillsammans i Python . Objekt
objektorienterad programmering , är nyckelbegreppet som av "objektet ". Ett objekt är en datatyp som skapats av en programmerare för att representera en enhet med data och funktioner . Medan andra datatyper är enkla representationer av värde , till exempel heltal eller tecken , objekten är komplexa , inklusive många datavärden och funktioner . Men objekten agerar fortfarande som andra datatyper i att de kan skapas , förstöras , kopieras och användas som argument för andra funktioner .
Primära objekt
först klassens objekt är objekt som kan skapas eller förstöras , eller används som argument till funktioner . I de flesta objektorienterade programspråk , alla objekt är första klassens objekt . Men andra enheter, såsom funktioner , är inte första klassens objekt . En funktion i C + + inte beter sig som ett objekt i C + + beter , så det finns en tydlig skillnad mellan de två vid genomförandet C + + -kod .
Python och objekt
ett populärt talesätt om programmeringsspråket Python säger att " Allt är ett objekt . " Det ordspråket är sant . Allt i Python agerar som ett objekt. Specifikt funktioner är första klassens objekt i Python . Detta gör funktioner " förstklassiga funktioner " som programmerare kan passera som argument till andra funktioner . Detta innebär att funktioner också har en uppsättning attribut som liknar klasser , som lagrar data om en viss instans av en verkställande funktion .
Exempel
I detta exempel programmeraren skapar två enkla funktioner . Det första hon definierar som en normal funktion , med en variabel argument . Den andra använder sedan den första funktionen i sin argumentation listan . Den andra funktionen kan sedan ringa den första funktionen i sin definition . Funktionen kallas inuti den andra funktionen kan använda lokala variabler inuti funktionen som kallade det :
>>> def FUNC1 ( x ) :
. . . avkastning x * 3 bilder
>>> def func2 ( f , y ) : //" f " representerar en funktion , men ser likadan ut som en variabel
. . . avkastning f (y ) //Python vet f är en funktion eftersom den används som en
>>> func2 ( FUNC1 , 3 ) katalog
9
Addera