Kapitel 7. Funktionen als Objekte erster Klasse

Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com

Ich habe Python nie als stark von funktionalen Sprachen beeinflusst angesehen, egal was die Leute sagen oder denken. Ich war viel mehr mit imperativen Sprachen wie C und Algol 68 vertraut und obwohl ich Funktionen zu Objekten erster Klasse gemacht hatte, sah ich Python nicht als funktionale Programmiersprache an.

Guido van Rossum, Python BDFL1

Funktionen in Python sind Objekte erster Klasse. Programmiersprachenforscher definieren ein "erstklassiges Objekt" als eine Programmeinheit, die sein kann:

  • Zur Laufzeit erstellt

  • Einer Variablen oder einem Element in einer Datenstruktur zugewiesen

  • Übergabe als Argument an eine Funktion

  • Wird als Ergebnis einer Funktion zurückgegeben

Integer, Strings und Dictionaries sind weitere Beispiele für Objekte erster Klasse in Python - nichts Ausgefallenes. Funktionen als Objekte erster Klasse sind ein wesentliches Merkmal funktionaler Sprachen wie Clojure, Elixir und Haskell. Funktionen erster Klasse sind jedoch so nützlich, dass sie von beliebten Sprachen wie JavaScript, Go und Java (seit JDK 8) übernommen wurden, von denen keine behauptet, "funktionale Sprachen" zu sein.

Dieses Kapitel und der Großteil von Teil III befassen sich mit den praktischen Anwendungen der Behandlung von Funktionen als Objekte.

Tipp

Der Begriff "erstklassige Funktionen" wird häufig ...

Get Fließendes Python, 2. Auflage now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.