Object -georiënteerde programmeertalen bestaan voornamelijk uit " eersteklas " objecten. Deze objecten vertegenwoordigen complexe data types die door de programmeur . De programmeertaal Python breidt de notie van wat een object is . In Python , alles is een object , waaronder functies . Dit betekent dat een programmeur fungeert als data op dezelfde manier variabelen en objecten zouden gebruik kunnen gebruiken . Om te begrijpen wat eersteklas functies zijn , moet de programmeur object - georiënteerd programmeren , functies , en hoe de twee werken samen in Python te begrijpen . Objecten In object - georiënteerd programmeren , het belangrijkste concept is dat van de "object . " Een object is een gegevenstype door een programmeur om een entiteit gegevens en functies vertegenwoordigen . Terwijl andere gegevens eenvoudig representaties van waarde , zoals gehele getallen of letters , voorwerpen complex , waaronder veel gegevenswaarden en functies . Echter , objecten nog steeds gedragen als andere soorten gegevens in dat ze kunnen worden gemaakt , vernietigd , gekopieerd en gebruikt als argumenten voor andere functies . First - Class Objecten First - class objecten zijn objecten die kunnen worden gecreëerd of vernietigd , of worden gebruikt als argumenten voor functies . In de meeste objectgeoriënteerde programmeertalen , alle objecten zijn eersteklas objecten . Maar andere entiteiten , zoals functies , zijn niet eersteklas objecten . Een functie in C + + gedraagt zich niet als een object in C + + gedraagt , dus er is een duidelijk verschil tussen de twee bij de uitvoering van C + + code . Python en Objecten een populair gezegde over de programmeertaal Python zegt dat " Alles is een object . " Het gezegde is waar . Alles in Python maakt fungeren als een object . Concreet functies zijn eersteklas objecten in Python . Dit maakt functies " first- class functies " die programmeurs kunnen doorgeven als argumenten voor andere functies . Dit betekent dat functies hebben ook een stel eigenschappen vergelijkbaar klassen, die gegevens over een bepaald exemplaar van een uitvoerende functie opslaan . Voorbeelden In dit voorbeeld , de programmeur maakt twee eenvoudige functies . Het eerste dat ze definieert als een normale functie , met een variabele argument. De tweede gebruikt dan de eerste functie in de lijst met argumenten . De tweede functie kan dan bellen de eerste functie binnen de definitie . De functie heet in de andere functie kunnen gebruik maken van de lokale variabelen binnen de functie die het genoemd : >>> def func1 ( x ) : . . . return x * 3 >>> def func2 ( f , y) : //" f" staat voor een functie , maar ziet er hetzelfde uit als een variabele . . . return f ( y) //Python kent f is een functie omdat het wordt gebruikt als een >>> func2 ( func1 , 3 ) op 9
|