gpt4 book ai didi

python - 为什么我不能将格式函数与文档字符串一起使用?

转载 作者:太空宇宙 更新时间:2023-11-03 13:45:08 24 4
gpt4 key购买 nike

我有一个这样开始的函数:

def apply_weighting(self, weighting):
"""
Available functions: {}
""".format(weightings)

我想要的是让文档字符串打印可用加权函数的字典。但是在检查函数时,它指出没有可用的文档字符串:

In [69]: d.apply_weighting?
Type: instancemethod
String Form:<bound method DissectSpace.apply_weighting of <dissect.DissectSpace instance at 0x106b74dd0>>
File: [...]/dissect.py
Definition: d.apply_weighting(self, weighting)
Docstring: <no docstring>

怎么会?无法格式化文档字符串吗?

最佳答案

Python 解释器 查找字符串文字。不支持添加 .format() 方法调用,不适用于函数定义语法。解析 docstring 的是编译器,而不是解释器,此时任何变量如 weightings 都不可用;此时没有代码执行。

您始终可以在事后更新文档字符串:

def apply_weighting(self, weighting):
"""
Available functions: {}
"""

apply_weighting.__doc__ = apply_weighting.__doc__.format(weightings)

关于python - 为什么我不能将格式函数与文档字符串一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21838624/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com