J'ai fini par lire PEP 362 - Objet Signature de Fonction pour comprendre d'où venait l'attribut «signature». Prenez donc note de votre compréhension.
Le reste est une utilisation détaillée, je vais donc omettre l'explication. Vous pouvez lire PEP 362 ou [inspecter la page] dans la documentation Python (https://docs.python.org/ja/3/library/inspect.html#introspecting-callables-with-the-signature-object) Vous pouvez lire. Dans le passé, nous avions l'habitude de lire les signatures de fonctions en utilisant ʻinspect.getargspec () `et les attributs d'objet, mais maintenant ʻinspect.signature () ʻest suffisant pour la plupart des choses. Viva, Signature.
Maintenant, la première question, «signature», a également été mentionnée dans ce PEP. Si vous enregistrez l'objet Signature
dans func .__ signature__
, ʻinspect.signature ()` retournera cette valeur. En d'autres termes, c'est comme un cache.
De plus, bien que l'extension C ait été exclue dans PEP 362, j'ai scanné Argument Clinic How-To. Pour autant que je sache, créer une extension C en utilisant (et donc) en utilisant Argument Clinic, un préprocesseur pour les fichiers C, semble créer un module qui prend en charge Signature. C'est pratique.
Il n'y a pas beaucoup de situations où vous avez besoin d'une signature de fonction, mais c'est utile pour découvrir les arguments et les types de fonction, alors pourquoi ne pas essayer?
Recommended Posts