Am Ende las ich PEP 362 --Function Signature Object, um zu verstehen, woher das Attribut __signature__
stammt. Notieren Sie sich also Ihr Verständnis.
Der Rest ist eine detaillierte Verwendung, daher werde ich die Erklärung weglassen. Sie können PEP 362 oder die [Inspektionsseite] in der Python-Dokumentation lesen (https://docs.python.org/ja/3/library/inspect.html#introspecting-callables-with-the-signature-object). Sie können lesen. Früher haben wir Funktionssignaturen mit "inspect.getargspec ()" und Objektattributen gelesen, aber jetzt reicht "inspect.signature ()" für die meisten Dinge aus. Viva, Unterschrift.
Nun wurde in diesem PEP auch die erste Frage "signature" erwähnt. Wenn Sie das Objekt "Signatur" in "func .__ Signatur" speichern, gibt "inspect.signature ()" diesen Wert zurück. Mit anderen Worten, es ist wie ein Cache.
Obwohl die C-Erweiterung in PEP 362 ausgeschlossen wurde, wurde Argument Clinic How-To gescannt. Soweit ich das beurteilen kann, scheint das Erstellen einer C-Erweiterung mit (und daher) mit Argument Clinic, einem Präprozessor für C-Dateien, ein Modul zu erstellen, das Signatur unterstützt. Es ist bequem.
Es gibt nicht viele Situationen, in denen Sie eine Funktionssignatur benötigen, aber es ist nützlich, um sich über Argumente und Funktionstypen zu informieren. Probieren Sie es also aus.
Recommended Posts