擅长:python、mysql、java
<p><code>staticmethod</code>是一个<strong>描述符</strong>。<code>@staticmethod</code>返回描述符对象而不是<code>function</code>。这就是为什么它会升高<code>staticmethod' object is not callable</code>。在</p>
<p>我的回答是避免这样做。我认为没有必要使<code>user_arg_required</code>成为静态方法。在</p>
<p>经过一番周折,我发现如果你还想用静态方法作为装饰器,那就有黑客了。在</p>
<pre><code>@staticmethod
@user_arg_required.__get__(0)
def find_father(**search_params):
return RelationShipSearchMgr.search(Relation.RELATION_FATHER, **search_params)
</code></pre>
<p>这个文件会告诉你什么是描述符。在</p>
<p><a href="https://docs.python.org/2/howto/descriptor.html" rel="nofollow noreferrer">https://docs.python.org/2/howto/descriptor.html</a></p>