first-class-functions

___ qstnhdr ___ Was ist eine erstklassige Funktion in Python? ___ answer27392481 ___

"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:

  • Kann als Parameter verwendet werden
  • Kann als Rückgabewert verwendet werden
  • Kann Variablen zugewiesen werden
  • Kann in Datenstrukturen wie Hashtabellen, Listen, ...
  • gespeichert werden

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.

    
___ answer44041054 ___
%Vor%

Oben ist ein Beispiel für die First-Class-Funktion in Python.

    
___ answer27392443 ___

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 .

    
___ answer45439919 ___

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

  1. Funktionen können als Argumente an andere Funktionen übergeben werden: Da Funktionen Objekte sind, können wir sie als Argumente an andere Funktionen übergeben. Funktionen, die andere Funktionen als Argumente annehmen können, werden auch Funktionen höherer Ordnung genannt. Im folgenden Beispiel haben wir eine Funktion greet erstellt, die eine Funktion als Argument übernimmt.
%Vor%

Ausgabe:
HI, ICH BIN VON EINER FUNKTION ALS ARGUMENT GESTELLT Hallo, ich bin von einer Funktion als Argument übergeben.

  1. Funktionen können eine andere Funktion zurückgeben: Da Funktionen Objekte sind, können wir eine Funktion von einer anderen Funktion zurückgeben. Im folgenden Beispiel gibt die Funktion create_adder die Addierfunktion zurück.
%Vor%

Ausgabe:
25

    
___ answer42448217 ___

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.

    
___ tag123function ___ Eine Funktion (auch als Prozedur, Methode, Unterroutine oder Routine bezeichnet) ist ein Teil des Codes, der dazu bestimmt ist, eine einzelne, spezifische Aufgabe auszuführen. Verwenden Sie dieses Tag für Fragen, die speziell das Erstellen oder Aufrufen von Funktionen betreffen. Wenn Sie Hilfe beim Implementieren einer Funktion zum Ausführen einer Task benötigen, verwenden Sie stattdessen [algorithm] oder ein taskspezifisches Tag. ___ tag123python ___ Python ist eine dynamische und stark typisierte Programmiersprache, die die Usability betont. Zwei ähnliche, aber größtenteils inkompatible Versionen von Python sind weit verbreitet (2 und 3). Wenn Sie eine versionsspezifische Python-Frage haben, sollten Sie die Tags [python-2.7] oder [python-3.x] zusätzlich zum Tag [python] verwenden. Wenn Sie eine Python-Variante wie jython, pypy, iron-python usw. verwenden, kennzeichnen Sie diese bitte entsprechend. ___ answer27392699 ___

Jede Funktion in Python ist erste Klasse, weil sie wie jedes andere Objekt weitergegeben werden kann.

    
___ tag123ersteKlassenfunktionen ___ Erstklassige Funktionen können Variablen zugewiesen, anderen Funktionen als Argumente übergeben oder von anderen Funktionen zurückgegeben werden. Die Möglichkeit, eine Funktion zurückzugeben, ermöglicht eine verzögerte Ausführung. Funktionen, die andere Funktionen als Argumente annehmen, werden als Funktionen höherer Ordnung bezeichnet. ___ qstntxt ___

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%     
___
1
Antwort

Verwenden überladener Funktionen als Bürger erster Klasse

Angenommen, wir haben mehrere überladene Funktionen in einer Klasse: %Vor% Und wir haben eine API, die die Funktion als Argument bekommt: %Vor% Wie können wir eine der appendToABC-Funktionen als Argument an eine printString-Funktion über...
08.01.2016, 13:17
6
Antworten

Was ist eine erstklassige Funktion in Python?

Ich bin immer noch verwirrt darüber, was first-class functions sind. Wenn ich richtig verstehe, sollte first-class functions eine Funktion als Objekt verwenden. Ist das korrekt? Ist das ein first-class function ? %Vor%     
10.12.2014, 02:31