Objektorientierte Programmiersprachen bestehen hauptsächlich aus "First-Class "-Objekte . Diese Objekte stellen komplexe Datentypen vom Programmierer erstellt . Die Python Programmiersprache erweitert den Begriff von dem, was ein Objekt ist. In Python ist alles ein Objekt , einschließlich der Funktionen . Dies bedeutet, dass ein Programmierer Funktionen als Daten auf dieselbe Weise wie Variablen und Objekten eingesetzt verwenden würde. Um zu verstehen, was erstklassige Funktionen sind , muss der Programmierer verstehen objektorientierten Programmierung , Funktionen, und wie die beiden arbeiten zusammen in Python. Objekte
In der objektorientierten Programmierung ist der Schlüssel Konzept, dass der " Objekt ". Ein Objekt ist ein Datentyp von einem Programmierer erstellt , um eine Einheit mit Daten und Funktionen darstellen . Während andere Datentypen einfachen Darstellungen Wert , wie Zahlen oder Buchstaben , sind komplexe Objekte , darunter viele Datenwerte und Funktionen. Allerdings Objekte immer noch wie andere Datentypen in der sie erstellt , zerstört werden kann , kopiert und verwendet als Argumente für andere Funktionen handeln .
First-Class Objekte
Erste - Klasse sind Objekte, die erzeugt oder zerstört werden kann , oder als Argumente an Funktionen . In den meisten objektorientierten Programmiersprachen , sind alle Objekte, First-Class- Objekte . Aber auch andere Unternehmen , wie Funktionen , sind nicht Objekte erster Klasse . Eine Funktion in C + + nicht als ein Objekt in C + + verhalten sich verhält, so gibt es einen deutlichen Unterschied zwischen den beiden bei der Umsetzung C + +-Code .
Python und Objekte
< p> Ein beliebtes Sprichwort über die Programmiersprache Python sagt, dass " Alles, was ein Objekt ist . " Das Sprichwort ist wahr. Alles in Python nicht als ein Objekt handeln . Genauer gesagt, sind Funktionen, erstklassige Objekte in Python. Damit sind die Funktionen "First-Class -Funktionen" , die Programmierer als Argumente an andere Funktionen übergeben können . Dies bedeutet, dass Funktionen auch eine Reihe von Attributen ähnlich Klassen, die Daten über eine bestimmte Instanz eines ausgeführten Funktion speichern.
Beispiele
In diesem Beispiel ist die Programmierer erstellt zwei einfache Funktionen . Der erste definiert sie wie eine normale Funktion , mit einem variablen Argument . Die zweite verwendet dann die erste Funktion in die Liste der Argumente . Die zweite Funktion können dann die erste Funktion in ihrer Definition . Die Funktion in der anderen Funktion aufgerufen können die lokalen Variablen innerhalb der Funktion , die sie aufgerufen :
>>> def func1 (x):
. . . return x * 3
>>> def func2 (f, y) : //" f " steht für eine Funktion , sieht aber aus wie eine Variable
. . . Rückkehr f ( y) //Python kennt f ist eine Funktion , weil es als eine
>>> func2 ( func1 , 3)
9
verwendet wird