Built-in Funktionen in Python – Teil 4

Vielleicht lernen man diese Funktionen irgendwann

Wir haben bereits fast die Hälfte der eingebauten Funktionen behandelt.
Der Rest der built-in Funktionen von Python ist definitiv nicht nutzlos, aber sie sind etwas spezieller ausgerichtet.

Die 15 built-in Funktionen, die in diesem Abschnitt erwähnt werden, lernt man vielleicht irgendwann einmal, aber es ist auch gut möglich, dass man sie in nie im eigenen Code gebrauchen wird.

iter: liefert einen Iterator aus einem Iterable: diese Funktion unterstützt for-Schleifen und kann sehr nützlich sein, wenn man Hilfsfunktionen für lose Schleifendurchläufe (lazy loops) erstellt.

callable: gibt True zurück, wenn das Argument ein callable ist.

filter und map: anstatt map und filter zu verwenden, ist es empfehlswerter Generatorausdrücke zu verwenden

id, locals und globals: dies sind großartige Werkzeuge, um Python zu lehren (insbesondere globale Variablen) und man hat sie vielleicht schon gesehen, aber man wird sie nicht oft in echtem Python-Code sehen

round: falls man eine Zahl runden muss, wird man diese Funktion nachschlagen, um sich mit Einzelheiten vertraut zu machen

divmod: diese Funktion führt gleichzeitig eine Division durch die Grundzahl (//) und eine Modulo-Operation (%) aus.

bin, oct und hex: man benötigt diese Funktionen, wenn man eine Zahl als Zeichenkette in binärer, oktaler oder hexadezimaler Form anzeigen muss

abs: wenn man den absoluten Wert einer Zahl benötigt, wird man diese Funktion nachschlagen

hash: dictionaries und sets verlassen sich auf die Hash-Funktion, um die Hash-Fähigkeit zu testen, aber man wird sie wahrscheinlich nicht brauchen, es sei denn, man implementiert einen cleveren De-Duplizierungsalgorithmus

object: diese Funktion ist nützlich, um eindeutige Standardwerte und Sentinel-Werte zu erzeugen, falls man diese jemals benötigt.

Es ist unwahrscheinlich, dass man alle oben genannten built-ins benötigt, aber wenn man lange genug Python-Code schreibt, steigt die Wahrscheinlichkeit ihnen irgendwann zu begegnen.

Wahrscheinlich braucht man diese Funktionen nicht

Es ist unwahrscheinlich, dass man diese build-ins braucht. Es gibt manchmal wirklich sinnvolle Anwendungen für einige von ihnen, aber man wird wahrscheinlich diese nie kennenlernen.

ord und chr: diese sind lustig, um ASCII-Tabellen und Unicode-Codepunkte zu lehren, aber es gibt vermutlich keine Verwendung für sie im eigenen Code

exec und eval: zum Auswerten einer Zeichenkette, als ob sie Code wäre. Alllein aus Sicherheitsgründen sollte man diese Funktionen möglichst nicht verwende , da hier eventuell unkontrolliert Code ausgeführt werden kann

compile: dies ist verwandt mit exec und eval

slice: wenn man __getitem__ implementiert, um eine benutzerdefinierte Slicing-unterstützende Sequenz zu erstellen, braucht man dies vielleicht, aber wenn man keine benutzerdefinierte Sequenz erstellt, wird man slice wahrscheinlich nie sehen

bytes, bytearray und memoryview: wenn man oft mit Bytes arbeitet, wird man einige davon brauchen (bis dahin ignoriert man sie zunächst)

ascii: wie repr, gibt aber eine reine ASCII-Darstellung eines Objekts zurück

frozenset: wie set, aber unveränderlich (und hashbar!); sehr ordentlich, aber nicht etwas, das man oft gebrauchen wird

aiter und anext: wenn man tief in die asynchrone Programmierung in Python einsteigt, wird man vielleicht nach diesen Funktionen greifen, um mit asynchronen Iteratoren zu arbeiten (bis dahin ignoriert man sie einfach)

__import__: diese Funktion ist eigentlich nicht für den allgemeinen Gebrauch gedacht, man verwendet stattdessen importlib

format: ruft die __format__-Methode auf, die für die Formatierung von Zeichenketten verwendet wird; normalerweise braucht man diese Funktion nicht direkt aufzurufen

pow: der Potenzierungsoperator (**) ersetzt dies normalerweise, es sei denn, man arbeitet mit Modulo-Mathematik (vielleicht implementiert man eine RSA-Verschlüsselung von Grund auf…?)

complex: Wenn man nicht weiß, dass 4j+3 gültiger Python-Code ist, braucht man die complex-Funktion wahrscheinlich nicht

Es gibt immer etwas zu lernen

Es gibt 71 built-in Funktionen in Python (technisch gesehen sind nur 44 von ihnen tatsächlich Funktionen).

Wenn man mit Python noch nicht so vertraut sind, sollte man sich vorerst auf nur 25 dieser „eingebauten“ Funktionen konzentrieren:

  • die 10 allgemein bekannten Built-Ins 
  • die 10 häufig übersehenen Built-Ins 
  • die 5 Debugging-Funktionen 

Danach gibt es 14 weitere Built-Ins, die man wahrscheinlich später lernen wird, je nach Programmierstil und Anwendung.

Dann kommen die 15 Built-Ins, die man vielleicht oder vielleicht auch nicht im eigenen Code brauchen wird. Manche Leute lieben diese Build-Ins, andere benutzen sie nie: Je spezifischer die Programmierbedürfnisse werden, desto eher wird man zu wesentlich mehr Nischenwerkzeugen greifen.

Abschliessend wurden die letzten 17 Build-Ins erwähnt, die man wahrscheinlich nie brauchen wird (was wiederum auch sehr davon abhängt, wie man Python verwendet).

Man muss nicht gleich alle built-in Python-Funktionen lernen. Man geht es langsam an: Konzentriert sich auf die ersten 25 wichtigen Built-Ins und arbeitet sich dann an die anderen heran, wenn man sie tatsächlich benötigt.

Quelle: Original-Beitrag von Trey Hunner