Erstklassige Funktionen in Python
In Python werden Funktionen als erstklassige Objekte behandelt. Das bedeutet, dass sie genau wie Zahlenzeichenfolgen oder jede andere Variable verwendet werden können. Du kannst:
- Weisen Sie Variablen Funktionen zu.
- Übergeben Sie sie als Argumente an andere Funktionen.
- Geben Sie sie von Funktionen zurück.
- Speichern Sie sie in Datenstrukturen wie Listen oder Wörterbüchern.
Mit dieser Fähigkeit können Sie wiederverwendbaren, modularen und leistungsstarken Code schreiben.
Merkmale erstklassiger Funktionen
Funktionen in Python weisen die folgenden wichtigen Eigenschaften auf. Sehen wir sie uns einzeln anhand von Beispielen an:
1. Zuweisen von Funktionen zu Variablen
Wir können Weisen Sie einer Variablen eine Funktion zu und verwenden Sie die Variable, um die Funktion aufzurufen.
Beispiel:
Python def msg ( name ): return f 'Hello { name } !' # Assigning the function to a variable f = msg # Calling the function using the variable print ( f ( 'Emma' ))
Ausgabe
Hello Emma!
Erläuterung:
- Die Funktion msg wird der Variablen f zugewiesen.
- Jetzt kann f verwendet werden, um msg aufzurufen, das zeigt, dass sich Funktionen wie Variablen verhalten.
2. Übergabe von Funktionen als Argumente
Funktionen können sein als Argumente übergeben um andere Funktionen zu ermöglichen Funktionen höherer Ordnung .
Beispiel:
Python def msg ( name ): return f 'Hello { name } !' def fun1 ( fun2 name ): return fun2 ( name ) # Passing the msg function as an argument print ( fun1 ( msg 'Alex' ))
Ausgabe
Hello Alex!
Erläuterung:
- Die Funktion fun1 übernimmt eine andere Funktion (fun2) als Eingabe.
- msg wird an fun1 übergeben, der es dann mit „Alex“ aufruft.
3. Funktionen von anderen Funktionen zurückgeben
Eine Funktion kann eine andere Funktion zurückgeben Dies ermöglicht die Schaffung von Funktionsfabriken.
Beispiel:
Python def fun1 ( msg ): def fun2 (): return f 'Message: { msg } ' return fun2 # Getting the inner function func = fun1 ( 'Hello World!' ) print ( func ())
Ausgabe
Message: Hello World!
Erläuterung:
- Die Funktion fun1 definiert eine weitere Funktion fun2 und gibt diese zurück.
- func speichert die zurückgegebene Funktion fun2, die später ausgeführt werden kann.
Funktionen können in Datenstrukturen wie gespeichert werden Listen oder Wörterbücher .
Beispiel:
Python def add ( x y ): return x + y def subtract ( x y ): return x - y # Storing functions in a dictionary d = { 'add' : add 'subtract' : subtract } # Calling functions from the dictionary print ( d [ 'add' ]( 5 3 )) print ( d [ 'subtract' ]( 5 3 ))
Ausgabe
8 2
Erläuterung:
- Die Funktionen Addieren und Subtrahieren werden in einem Wörterbuch gespeichert.
- Sie werden über ihre Schlüssel aufgerufen und direkt ausgeführt.
Welche der folgenden Aussagen beschreibt am besten eine erstklassige Funktion in Programmiersprachen?
- A
Eine Funktion, die nur innerhalb ihres eigenen Bereichs aufgerufen werden kann.
- B
Eine Funktion, die wie jedes andere Objekt Variablen zugewiesen werden kann, die als Argumente übergeben und von anderen Funktionen zurückgegeben werden.
- C
Eine Funktion, die nur auf der obersten Ebene eines Moduls definiert werden kann.
- D
Eine Funktion, die nur in einem bestimmten Kontext ausgeführt werden kann.
Was ist im Kontext erstklassiger Funktionen eine Funktion höherer Ordnung?
- A
Eine Funktion, die nur primitive Datentypen zurückgeben kann.
- B
Eine Funktion, die andere Funktionen als Argumente annehmen oder als Ergebnisse zurückgeben kann.
- C
Eine Funktion, die innerhalb einer anderen Funktion definiert ist, aber nicht zurückgegeben werden kann.
- D
Eine Funktion, die in einem separaten Thread ausgeführt wird.
Was wird die Ausgabe des folgenden Codes sein?
auf jeden Fall grüßen(Name):
return f'Hallo {Name}'
say_hello = grüßen
print(say_hello('Geek'))
- A
Hallo, grüße
- B
begrüßen
- C
Hallo Geek
- D
TypeError
Variablen können Funktionen zugewiesen werden. Hier wird say_hello zu einer weiteren Referenz zum Begrüßen.
Welche der folgenden Eigenschaften ist keine Eigenschaft erstklassiger Funktionen?
- A
Funktionen können in Datenstrukturen gespeichert werden
- B
Variablen können Funktionen zugewiesen werden
- C
Funktionen können andere Funktionen zurückgeben
- D
Funktionen können nur primitive Typen zurückgeben
Erstklassige Funktionen können jeden Typ zurückgeben, einschließlich anderer Funktionen – und sind nicht auf Grundelemente beschränkt.
Was wird die Ausgabe dieses Codes sein?
def äußere():
def inner():
return 'Innere Funktion'
Rückkehr nach innen
func = äußere()
print(func())
- A
Innere Funktion
- B
innere
- C
äußere
- D
Fehler
Outer() gibt die innere Funktion zurück und func() ruft sie auf und gibt ihren String zurück.
Welche der folgenden Eigenschaften ist KEIN Merkmal erstklassiger Funktionen?
- A
Sie können Variablen zugewiesen werden.
- B
Sie können als Argumente an andere Funktionen übergeben werden.
- C
Sie können nur einmal in einem Programm definiert werden.
- D
Sie können von anderen Funktionen zurückgegeben werden.
Was ist die Ausgabe des folgenden Codes?
def make_multiplier(n):
Def-Multiplikator(x):
Rückkehr x * n
Renditemultiplikator
double = make_multiplier(2)
print(double(5))
- A
7
- B
10
- C
25
- D
Fehler
make_multiplier(2) gibt eine Funktion zurück, die ihr Argument mit 2 multipliziert. Double(5) gibt also 10 zurück.
Wie behandelt Python Funktionen in Bezug auf Variablen?
- A
Funktionen sind statische Objekte
- B
Funktionen sind Konstanten und können nicht neu zugewiesen werden
- C
Funktionen sind Bürger erster Klasse und können übergeben und neu zugewiesen werden
- D
Funktionen müssen global deklariert werden, um verwendet werden zu können
Als Bürger erster Klasse können Funktionen wie anderen Objekten übergeben und zurückgegeben werden.
Quiz erfolgreich abgeschlossen. Ihre Punktzahl: 2 /8 Genauigkeit : 0% Melden Sie sich an, um die Erklärung anzuzeigen 1 /8 1 /8 < Previous Weiter >