您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

如何将变量放入Python文档字符串

如何将变量放入Python文档字符串

三引号字符串是一个大字符串。它们内部没有任何评估。该%部分是字符串的所有部分。您需要使它在实际的字符串上运行。 ~~~~

def func(animalType):
    """
    This is a sample function.

    @param animalType: "It takes one of these animal types %(ANIMAL_TYPES)s"
    """ % {'ANIMAL_TYPES': ANIMAL_TYPES}

我不确定这是否可以正常工作;docstrings有点神奇。这将 工作; docstring在编译时进行评估(作为函数中的第一条语句,假定它是字符串文字,一旦包含%了它,而不仅仅是字符串文字),字符串格式在运行时发生,因此__doc__为空:

>>> def a(): 'docstring works'
... 
>>> a.__doc__
'docstring works'
>>> def b(): "formatted docstring doesn't work %s" % ':-('
... 
>>> b.__doc__
>>>

如果要以这种方式工作,则需要func.__doc__ %= {'ANIMAL_TYPES': ANIMAL_TYPES}在定义函数后执行。请注意,python -OO如果您不检查__doc__已定义的内容(如-OO剥离文档字符串),这将中断。

>>> def c(): "formatted docstring works %s"
... 
>>> c.__doc__
"formatted docstring works %s"
>>> c.__doc__ %= 'after'
>>> c.__doc__
"formatted docstring works after"

无论如何,这不是标准技术。标准技术是引用适当的常量:“采用ANIMAL_TYPES中的一种动物类型”或类似的常量。

python 2022/1/1 18:32:42 有210人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶