Erstklassige Funktionen in Python

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.
Empfohlenes Quiz Quiz bearbeiten 8 Fragen

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.

Erläuterung:


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.

Erläuterung:


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

Erläuterung:

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

Erläuterung:

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

Erläuterung:

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.

Erläuterung:


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

Erläuterung:

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

Erläuterung:

Als Bürger erster Klasse können Funktionen wie anderen Objekten übergeben und zurückgegeben werden.

Erstklassige Funktionen in PythonQuiz erfolgreich abgeschlossen. Ihre Punktzahl:   2 /8 Genauigkeit :  0% Melden Sie sich an, um die Erklärung anzuzeigen 1 /8 1 /8 < Previous Weiter >