给定一个方法的引用,有没有办法来检查方法是否绑定到一个对象?你还可以访问它绑定的实例吗?如何检查python方法是否绑定?
25
A
回答
33
def isbound(method):
return method.im_self is not None
def instance(bounded_method):
return bounded_method.im_self
当 通过从类检索用户定义 功能对象创建一个用户定义的方法对象,其
im_self
属性是None
而且 方法对象被认为是未绑定的。 当一个通过经由其实例之一中检索从 类 用户定义功能对象创建,其im_self
属性是实例,并且 方法目标被说成是约束。 在任一情况下,新方法的im_class
属性是从 的类检索发生,和 其im_func
属性是原始 功能对象。
在Python 2.6 and 3.0:
实例方法对象具有对象和功能 包括该方法新 属性;
im_self
的新同义词 是__self__
和im_func
也可作为__func__
获得。 Python 2.6中仍然支持旧的 名称,但在3.0中不再支持。
3
im_self attribute(仅Python的2)
7
在Python 3的__self__
属性是对绑定方法仅集。它不是设置为None
上的普通函数(或未绑定的方法,它们只是python 3中的普通函数)。
使用这样的事情:
def is_bound(m):
return hasattr(m, '__self__')
相关问题
- 1. Python:如何检查对象的属性是否是方法?
- 2. 如何检查是否定义了特定的jquery-easing方法?
- 3. 检查一个符号是否绑定
- 4. DataTemplate检查绑定是否存在
- 5. 在Ruby中,如何检查方法“foo =()”是否已定义?
- 6. 如何检查私有方法是否在ruby中定义
- 7. 如何检查变量是否在python
- 8. RabbitMQ C#API:如何检查绑定是否存在?
- 9. Common Lisp:如何检查一个插槽是否被绑定? (CLOS)
- 10. 如何检查本地绑定函数是否适用于Modernizr
- 11. 如何在Python中查找绑定方法的实例?
- 12. 如何缩短检查乘法是否溢出的方法
- 13. 如何检查Python脚本是否以交互方式启动?
- 14. 速度:是否有任何方法来检查是否定义变量
- 15. python绑定方法错误
- 16. 如何检查JRuby脚本是否定义了特定的方法?
- 17. 如何检查课程是否定义?
- 18. 如何检查变量是否定义?
- 19. 我如何检查是否prettyPhoto定义
- 20. 检查jQuery的方法是否存在
- 21. 检查分割方法是否为空
- 22. 检查jQuery方法是否存在
- 23. 检查类是否有静态方法
- 24. JDBI @绑定和绑定方法是否免受SQL注入?
- 25. Python ftplib:检查文件是否已更改的最佳方法?
- 26. 检查方法是否是类方法和调用属性
- 27. 是否有无论如何检查给定的XPath在Python中是否有效?
- 28. 我无法检查是否未定义
- 29. 如何在运行时检查类方法是否存在?
- 30. 如何检查是否有方法被孩子调用?
链接断开。 – jjmontes 2017-06-29 21:27:45