"First-Class Functions" (FCF) sind Funktionen, die als so genannte "First-Class Citizens" (FCC) behandelt werden. FCCs in einer Programmiersprache sind Objekte (die den Begriff "Objekte" hier sehr frei verwenden), die:
Tatsächlich, sehr grob und einfach ausgedrückt, sind FCFs Variablen vom Typ 'Funktion' (oder Variablen, die auf eine Funktion zeigen). Sie können mit ihnen alles tun, was Sie mit einer 'normalen' Variable tun können.
Wenn Sie dies wissen, sind sowohl %code% als auch %code% First-Class Functions, da all Funktionen in bestimmten Programmiersprachen First-Class sind.
Oben ist ein Beispiel für die First-Class-Funktion in Python.
Eine erstklassige Funktion ist keine besondere Art von Funktion. Alle Funktionen in Python sind erstklassige Funktionen. Zu sagen, dass Funktionen in einer bestimmten Programmiersprache erstklassig sind, bedeutet, dass sie ähnlich wie andere Objekte (wie ganze Zahlen oder Strings) weitergegeben und manipuliert werden können. Sie können einer Variablen eine Funktion zuweisen, sie als Argument an eine andere Funktion übergeben usw. Die Unterscheidung besteht nicht darin, dass einzelne Funktionen erste Klasse sein können oder nicht, sondern dass ganze Sprachen Funktionen als erstklassige Objekte behandeln können oder auch nicht .
First Class-Funktionen in Python
Erstklassige Objekte in einer Sprache werden durchgehend einheitlich behandelt. Sie können in Datenstrukturen gespeichert, als Argumente übergeben oder verwendet werden Kontrollstrukturen. Eine Programmiersprache soll unterstützen Erstklassige Funktionen, wenn es Funktionen als erstklassige Objekte behandelt. Python unterstützt das Konzept der First-Class-Funktionen.
Eigenschaften von Funktionen erster Klasse:
Eine Funktion ist eine Instanz des Objekttyps.
- Sie können die Funktion in einer Variablen speichern.
- Sie können die Funktion als Parameter an eine andere Funktion übergeben.
- Sie können die Funktion von einer Funktion zurückgeben.
- Sie können sie in Datenstrukturen wie Hashtabellen, Listen, ... speichern.
Beispiele zur Veranschaulichung von First-Class-Funktionen in Python 1. Funktionen sind Objekte: Python-Funktionen sind erstklassige Objekte. Im folgenden Beispiel weisen wir einer Variablen eine Funktion zu. Diese Zuweisung ruft die Funktion nicht auf. Es nimmt das Funktionsobjekt, auf das von shout verwiesen wird, und erstellt einen zweiten Namen, der darauf verweist, yell.
%Vor% Ausgabe:
Hallo!
HALLO
Ausgabe:
HI, ICH BIN VON EINER FUNKTION ALS ARGUMENT GESTELLT
Hallo, ich bin von einer Funktion als Argument übergeben.
Ausgabe:
25
Nein. Sie sprechen über Funktionen höherer Ordnung - siehe .
Erstklassige Funktionen: Wenn eine Funktion einer Variablen zugewiesen oder als Objekt / Variable an eine andere Funktion übergeben werden kann, wird diese Funktion als First-Class-Funktion aufgerufen.
Python, JavaScript und C (Zeiger) unterstützen erstklassige Funktionen.
Ein einfaches Beispiel (in Python):
%Vor%Dieses Programm dient nur zur Illustration.
Jede Funktion in Python ist erste Klasse, weil sie wie jedes andere Objekt weitergegeben werden kann.
Ich bin immer noch verwirrt darüber, was %code% sind. Wenn ich richtig verstehe, sollte %code% eine Funktion als Objekt verwenden. Ist das korrekt?
Ist das ein %code% ?
%Vor%