Étant donné une référence à une méthode, existe-t-il un moyen de vérifier si la méthode est liée à un objet ou non? Pouvez-vous également accéder à l'instance à laquelle il est lié?Comment vérifier si une méthode python est liée ou non?
Répondre
def isbound(method):
return method.im_self is not None
def instance(bounded_method):
return bounded_method.im_self
Lorsqu'un objet de la méthode définie par l'utilisateur est créé par l'extraction d'un objet de fonction définie par l'utilisateur à partir d'une classe, son
im_self
l'attribut estNone
et l'objet méthode est dit non lié. Quand on est créé par l'extraction d'un objet de fonction définie par l'utilisateur à partir d'une classe par une de ses instances, son attributim_self
est le cas, et l'objet de la méthode est dite être lié. Dans les deux cas, le nouveau attribut de la méthodeim_class
est la classe de qui a lieu la récupération et son attributim_func
est l'objet de la fonction d'origine.
En Python 2.6 and 3.0:
objets de méthode d'instance ont de nouveaux attributs de l'objet et la fonction comprenant le procédé; le nouveau synonyme pour
im_self
est__self__
, etim_func
est également disponible en tant que__func__
. Les anciens noms sont toujours supportés en Python 2.6, mais sont partis en 3.0.
im_self attribute (uniquement python 2)
en Python 3 est l'attribut __self__
que sur les méthodes ensemble liées. Il n'est pas défini sur None
sur des fonctions simples (ou des méthodes indépendantes, qui sont simplement des fonctions simples dans python 3).
Utilisez quelque chose comme ceci:
def is_bound(m):
return hasattr(m, '__self__')
- 1. Comment vérifier si un lien est actif ou non?
- 2. Comment vérifier si une session est invalide
- 3. Comment vérifier si une application est en debug ou release
- 4. Vérifiez si ftp est complet ou non?
- 5. Comment vérifier la MSMQ messageBody est valide ou non
- 6. si l'utilisateur est déjà connecté ou non?
- 7. vérifier si les composants microsoft sont présents ou non
- 8. Comment puis-je vérifier si une méthode est statique en utilisant la réflexion?
- 9. Javascript pour vérifier si une case à cocher est cochée ou non cochée
- 10. Comment vérifier si un pointeur est valide?
- 11. Comment vérifier si un répertoire IIS est un répertoire virtuel ou non?
- 12. Comment vérifier si le travail est désactivé ou non dans sqlserver management studio 2005?
- 13. Python: Affirmez que cette variable est une méthode d'instance?
- 14. Vérifier si mysql_query a retourné quelque chose ou non
- 15. quel est le moyen de vérifier si la cellule Excel est verrouillé ou non?
- 16. Comment vérifier si DLL est compilé debug-
- 17. Comment vérifier si MOSS Standard ou MOSS Enterprise est installé?
- 18. Comment vérifier si un CD-ROM est réelle ou virtuelle
- 19. Comment puis-je vérifier si une fenêtre a WS_VISIBLE à définir? (ou si est visible)
- 20. Comment vérifier si une valeur donnée est une liste générique?
- 21. Vérifiez si un arrêt est initié ou non
- 22. Comment identifier une variable PHP est un tableau ou non
- 23. Méthode pythonique pour vérifier si une condition est valide pour un élément d'une liste
- 24. Comment vérifier si une chaîne est vide dans Emacs Lisp?
- 25. vérifier si une chaîne est un double
- 26. Comment vérifier si une classe Delphi est déclarée abstraite?
- 27. Comment vérifier si une valeur de matrice profonde est présente
- 28. Python - Comment vérifier si un fichier est utilisé par une autre application?
- 29. Comment vérifier si une touche est actuellement pressée avec Tkinter en Python?
- 30. Comment déterminer si une solution particulière est une application WPF ou une application Non WPF?
lien est rompu. – jjmontes