Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Bruno Desthuilliers
Guillaume Lemaître a écrit :
Bonjour,
Y a-t-il un outil standard pour connaître toutes les méthodes disponibles (implémentées ou non d'ailleurs) par un type donné ?
Si une méthode n'est pas implémentée, elle n'est pas disponible !-)
Dans l'absolu, ce que tu demande n'est pas possible, Python est bien trop dynamique pour ça. Entre autres, on peut à l'exécution ajouter ou enlever des attributs (ce qui inclue les méthodes) à une classe (ce qui affectera les instances déjà créées) ou à une instance. Et puis il y a aussi la méthode __getattr__, qui permet de résoudre dynamiquement un attribut (appelable ou non) qui ne sera pas visible par introspection. Et encore d'autres trucs qui relèvent presque de la magie noire...
Bref, en Python, la notion de 'type' est assez différente de ce qu'on peut voir en Java (ou autre langage plus statique).
Après, dans la pratique, la fonction dir permet d'avoir une liste (presque) complète des attributs d'un objet (donc d'une classe puisqu'une classe est un objet), et il existe pas mal de fonctionnalités plus spécialisées dans le module inspect.
A noter aussi, dans le shell interactif, la commande 'help'...
Guillaume Lemaître a écrit :
Bonjour,
Y a-t-il un outil standard pour connaître toutes les méthodes
disponibles (implémentées ou non d'ailleurs) par un type donné ?
Si une méthode n'est pas implémentée, elle n'est pas disponible !-)
Dans l'absolu, ce que tu demande n'est pas possible, Python est bien
trop dynamique pour ça. Entre autres, on peut à l'exécution ajouter ou
enlever des attributs (ce qui inclue les méthodes) à une classe (ce qui
affectera les instances déjà créées) ou à une instance. Et puis il y a
aussi la méthode __getattr__, qui permet de résoudre dynamiquement un
attribut (appelable ou non) qui ne sera pas visible par introspection.
Et encore d'autres trucs qui relèvent presque de la magie noire...
Bref, en Python, la notion de 'type' est assez différente de ce qu'on
peut voir en Java (ou autre langage plus statique).
Après, dans la pratique, la fonction dir permet d'avoir une liste
(presque) complète des attributs d'un objet (donc d'une classe
puisqu'une classe est un objet), et il existe pas mal de fonctionnalités
plus spécialisées dans le module inspect.
A noter aussi, dans le shell interactif, la commande 'help'...
Y a-t-il un outil standard pour connaître toutes les méthodes disponibles (implémentées ou non d'ailleurs) par un type donné ?
Si une méthode n'est pas implémentée, elle n'est pas disponible !-)
Dans l'absolu, ce que tu demande n'est pas possible, Python est bien trop dynamique pour ça. Entre autres, on peut à l'exécution ajouter ou enlever des attributs (ce qui inclue les méthodes) à une classe (ce qui affectera les instances déjà créées) ou à une instance. Et puis il y a aussi la méthode __getattr__, qui permet de résoudre dynamiquement un attribut (appelable ou non) qui ne sera pas visible par introspection. Et encore d'autres trucs qui relèvent presque de la magie noire...
Bref, en Python, la notion de 'type' est assez différente de ce qu'on peut voir en Java (ou autre langage plus statique).
Après, dans la pratique, la fonction dir permet d'avoir une liste (presque) complète des attributs d'un objet (donc d'une classe puisqu'une classe est un objet), et il existe pas mal de fonctionnalités plus spécialisées dans le module inspect.
A noter aussi, dans le shell interactif, la commande 'help'...
Guillaume Lemaître
Bruno Desthuilliers a écrit :
Guillaume Lemaître a écrit :
Bonjour,
Y a-t-il un outil standard pour connaître toutes les méthodes disponibles (implémentées ou non d'ailleurs) par un type donné ?
Si une méthode n'est pas implémentée, elle n'est pas disponible !-)
Dans l'absolu, ce que tu demande n'est pas possible, Python est bien trop dynamique pour ça. Entre autres, on peut à l'exécution ajouter ou enlever des attributs (ce qui inclue les méthodes) à une classe (ce qui affectera les instances déjà créées) ou à une instance. Et puis il y a aussi la méthode __getattr__, qui permet de résoudre dynamiquement un attribut (appelable ou non) qui ne sera pas visible par introspection. Et encore d'autres trucs qui relèvent presque de la magie noire...
Bref, en Python, la notion de 'type' est assez différente de ce qu'on peut voir en Java (ou autre langage plus statique).
Après, dans la pratique, la fonction dir permet d'avoir une liste (presque) complète des attributs d'un objet (donc d'une classe puisqu'une classe est un objet), et il existe pas mal de fonctionnalités plus spécialisées dans le module inspect.
A noter aussi, dans le shell interactif, la commande 'help'...
Merci, ce que je cherchais correspond assez à ce que peut fournir la commande interactive 'help'.
Guillaume
Bruno Desthuilliers a écrit :
Guillaume Lemaître a écrit :
Bonjour,
Y a-t-il un outil standard pour connaître toutes les méthodes
disponibles (implémentées ou non d'ailleurs) par un type donné ?
Si une méthode n'est pas implémentée, elle n'est pas disponible !-)
Dans l'absolu, ce que tu demande n'est pas possible, Python est bien
trop dynamique pour ça. Entre autres, on peut à l'exécution ajouter ou
enlever des attributs (ce qui inclue les méthodes) à une classe (ce qui
affectera les instances déjà créées) ou à une instance. Et puis il y a
aussi la méthode __getattr__, qui permet de résoudre dynamiquement un
attribut (appelable ou non) qui ne sera pas visible par introspection.
Et encore d'autres trucs qui relèvent presque de la magie noire...
Bref, en Python, la notion de 'type' est assez différente de ce qu'on
peut voir en Java (ou autre langage plus statique).
Après, dans la pratique, la fonction dir permet d'avoir une liste
(presque) complète des attributs d'un objet (donc d'une classe
puisqu'une classe est un objet), et il existe pas mal de fonctionnalités
plus spécialisées dans le module inspect.
A noter aussi, dans le shell interactif, la commande 'help'...
Merci, ce que je cherchais correspond assez à ce que peut fournir la
commande interactive 'help'.
Y a-t-il un outil standard pour connaître toutes les méthodes disponibles (implémentées ou non d'ailleurs) par un type donné ?
Si une méthode n'est pas implémentée, elle n'est pas disponible !-)
Dans l'absolu, ce que tu demande n'est pas possible, Python est bien trop dynamique pour ça. Entre autres, on peut à l'exécution ajouter ou enlever des attributs (ce qui inclue les méthodes) à une classe (ce qui affectera les instances déjà créées) ou à une instance. Et puis il y a aussi la méthode __getattr__, qui permet de résoudre dynamiquement un attribut (appelable ou non) qui ne sera pas visible par introspection. Et encore d'autres trucs qui relèvent presque de la magie noire...
Bref, en Python, la notion de 'type' est assez différente de ce qu'on peut voir en Java (ou autre langage plus statique).
Après, dans la pratique, la fonction dir permet d'avoir une liste (presque) complète des attributs d'un objet (donc d'une classe puisqu'une classe est un objet), et il existe pas mal de fonctionnalités plus spécialisées dans le module inspect.
A noter aussi, dans le shell interactif, la commande 'help'...
Merci, ce que je cherchais correspond assez à ce que peut fournir la commande interactive 'help'.