In den Antworten erwähnte Personen a1 , a2 das
Aufgrund der Art und Weise, wie die Python-C-Level-APIs entwickelt wurden, ist eine Menge eingebaut Funktionen und Methoden haben keine Namen für ihre Argumente.
Ich fand es wirklich nervig, weil ich es nicht sehen kann, indem ich auf das Dokument schaue. Zum Beispiel eval
eval (Ausdruck, globale = Keine, lokale = Keine)
Dann habe ich diese Codezeile geschrieben
%Vor% und habe TypeError: eval() takes no keyword arguments
. Gibt es eine vollständige Liste von Funktionen dieser Art? Woher weiß ich, ob eine Funktion Schlüsselwortargumente haben darf?
In Python 3.5 können Sie die __text_signature__
der eingebauten Funktion überprüfen:
oder
%Vor% ( x
kann nicht als Schlüsselwortargument verwendet werden)
/
bedeutet, dass die folgenden Argumente als Schlüsselwortargumente verwendet werden können. C.f.
Natürlich gibt es auch in 3.5 Bugs:
%Vor% obwohl laut Problem 26729 im Python-Bug-Tracker , sollte /
nach dem iterable
als sein iterable
kann nicht als Schlüsselwort verwendet werden.
Leider ist diese Information in der Python-Dokumentation selbst noch nicht verfügbar.
Tags und Links python arguments python-c-api