在Python中,如何响应对象上不存在的方法调用?

时间:2010-11-10 15:06:35

标签: python metaprogramming

  

可能重复:
  Dynamic Finders and Method Missing in Python

我知道你可以用Ruby做到这一点,但是如何在Python中完成呢?

所以基本上你可以使用不存在的方法调用的正则表达式,并创建'syntactic sugar'。

2 个答案:

答案 0 :(得分:2)

Define __getattr__.

但如果这是你的想法,那仍然不会使s./.*/有效的语法。 Python的语法无法像Ruby那样灵活。

答案 1 :(得分:1)

您可以覆盖对象上的__getattribute__以处理对不存在的属性的请求。这仅适用于新式类。如果您有旧式课程,则可以使用delnans answer