我使用的是Python2.7。有没有一种方法可以将名称、描述和其他元数据与函数关联起来,这样我就不必使用外部字典来保存以下代码中的信息:
def predicateA(v):
# some logic that eventually returns a True/False value
return True
def predicateB(v):
# some logic that eventually returns a True/False value
return False
predicateNames={}
predicateNames[predicateA]='name and description for predicateA'
predicateNames[predicateB]='name and description for predicateB'
predicates = [predicateA, predicateB]
def evalForAllPredicates(v):
for f in predicates:
result = f(v)
print "function %s returned: %s" % (predicateNames[f], result)
evalForAllPredicates(3)
可以通过
__name__
和__doc__
属性访问函数名及其docstring。函数的docstring只是作为函数中第一条语句放置的字符串文本。惯例是使用三重引号将docstring括起来,因为它们需要跨越许多行。你知道吗要将任意元数据与函数相关联,只需将您喜欢的任何属性赋给函数,就好像它是一个普通对象一样,毕竟它是一个普通对象。你知道吗
如果函数有适当的doc string,则可以使用
__name__
和__doc__
属性在您的示例中,所需的描述是通过doc string进行的,并放在函数头后面的三重双精度或单精度代码中。除非这样做,否则
__doc__
将返回空。你知道吗您可以向函数中添加各种属性,还可以包含一个文档字符串:
相关问题 更多 >
编程相关推荐