在另一个文档字符串中包含一个文档字符串
Including a docstring in another docstring
问题:我想在另一个文档字符串中使用一个文档字符串。
假设我有以下片段:
def window(dimensions: tuple):
'''
Function to create an app window and return it
PARAMETERS
----------
dimensions : tuple
The width and height of the window to create
RETURNS
-------
display.Window
Class to implement a screen # Make this equal to Window.__doc__
'''
class Window:
'''
Class to implement a screen
'''
def __init__(self, dimensions: tuple):
pass
return Window(dimensions)
我想自动设置 window
的文档字符串以包含 Window
的文档字符串
我了解到您可以手动设置文档字符串,如下所示:
window.__doc__ = "".join((window.__doc__, Window.__doc__))
但是只有调用函数的时候才会执行
此外,我可以使用装饰器,但是有没有更简单直观的方法来做到这一点?
奖励:有没有办法确定我可以在文档字符串中的确切位置包含另一个?
编辑: 所以,看起来这个问题有一个重复的建议,但是因为我特地询问没有装饰器,这确实让我的问题 有点 不同。此外,我在 window
中使用嵌套 class 意味着任何更改 __doc__
:
的尝试
- inside of
window
: 在调用函数之前不会发生。
- 在
window
之外:不会 运行 因为 Window
是嵌套的。
因此,就目前情况而言,这排除了这两种方法。
但答案当然必须是其中之一。所以答案是重复的,而不是问题。 :P
因此,我不得不重构我的代码。见下文。
感谢 @aparpara
,我找到了那个答案(我在网上搜索时没有出现),它让我意识到(可能?)没有解决我的特定问题的方法。
因此,我必须删除嵌套的 class 才能在函数外访问它。
这是最终版本。
# module display_module.py
class Window:
'''
Class to implement pygame's screen
'''
def __init__(self, dimensions: tuple):
pass
def window(dimensions: tuple):
'''
Function to create an app window and return it
PARAMETERS
----------
dimensions : tuple
The width and height of the window to create
RETURNS
-------
display.Window
{0}
'''
return Window(dimensions)
window.__doc__ = window.__doc__.format(Window.__doc__.strip())
仍然对旧问题有任何答案!
问题:我想在另一个文档字符串中使用一个文档字符串。
假设我有以下片段:
def window(dimensions: tuple):
'''
Function to create an app window and return it
PARAMETERS
----------
dimensions : tuple
The width and height of the window to create
RETURNS
-------
display.Window
Class to implement a screen # Make this equal to Window.__doc__
'''
class Window:
'''
Class to implement a screen
'''
def __init__(self, dimensions: tuple):
pass
return Window(dimensions)
我想自动设置 window
的文档字符串以包含 Window
我了解到您可以手动设置文档字符串,如下所示:
window.__doc__ = "".join((window.__doc__, Window.__doc__))
但是只有调用函数的时候才会执行
此外,我可以使用装饰器,但是有没有更简单直观的方法来做到这一点?
奖励:有没有办法确定我可以在文档字符串中的确切位置包含另一个?
编辑: 所以,看起来这个问题有一个重复的建议,但是因为我特地询问没有装饰器,这确实让我的问题 有点 不同。此外,我在 window
中使用嵌套 class 意味着任何更改 __doc__
:
- 的尝试
- inside of
window
: 在调用函数之前不会发生。 - 在
window
之外:不会 运行 因为Window
是嵌套的。
但答案当然必须是其中之一。所以答案是重复的,而不是问题。 :P
因此,我不得不重构我的代码。见下文。
感谢 @aparpara
,我找到了那个答案(我在网上搜索时没有出现),它让我意识到(可能?)没有解决我的特定问题的方法。
因此,我必须删除嵌套的 class 才能在函数外访问它。
这是最终版本。
# module display_module.py
class Window:
'''
Class to implement pygame's screen
'''
def __init__(self, dimensions: tuple):
pass
def window(dimensions: tuple):
'''
Function to create an app window and return it
PARAMETERS
----------
dimensions : tuple
The width and height of the window to create
RETURNS
-------
display.Window
{0}
'''
return Window(dimensions)
window.__doc__ = window.__doc__.format(Window.__doc__.strip())
仍然对旧问题有任何答案!