擅长:python、mysql、java
<p>可以通过<code>__name__</code>和<code>__doc__</code>属性访问函数名及其docstring。函数的docstring只是作为函数中第一条语句放置的字符串文本。惯例是使用三重引号将docstring括起来,因为它们需要跨越许多行。你知道吗</p>
<pre><code>def predicateA(v):
"""
some logic that eventually returns a True/False value
"""
return True
print "Name:", predicateA.__name__
print "Doc:", predicateB.__doc__
</code></pre>
<p>要将任意元数据与函数相关联,只需将您喜欢的任何属性赋给函数,就好像它是一个普通对象一样,毕竟它是一个普通对象。你知道吗</p>
<pre><code>def predicateB(v):
"""
some logic that eventually returns a True/False value
"""
return False
predicateA.alwaysReturnsFalse = False
predicateB.alwaysReturnsFalse = True
for pred in [predicateA, predicateB]:
print "Function:", pred.__name__
print "Documentation:", pred.__doc__
if pred.alwaysReturnsFalse:
print "(This function always returns false)"
</code></pre>
<pre>
Function: predicateA
Documentation:
some logic that eventually returns a True/False value
Function: predicateB
Documentation:
some logic that eventually returns a True/False value
(This function always returns false)
</pre>