首页 > 解决方案 > 关于返回对象类型的 Python 文档字符串

问题描述

class Foo:
    def __init__(self, bar):
        self.bar = bar

    def get_new_foo(self, new_bar):
        return type(self)([self.bar, new_bar]) #How should it be documented?

如果get_new_foo从派生类调用,那么它将返回派生类的实例。如果多个类Foo用作基类,get_new_foo则将返回调用它的派生类的实例。

我想记录什么类型的对象get_new_foo返回,我不明白什么/如何记录它。我不能说Returns an instance of Foo,因为情况并非总是如此。

标签: pythondocstring

解决方案


就个人而言,我不会过分担心这一点。无论如何,由于任何子类“is-a” Foo,您选择的措辞最糟糕的是轻度误导。如果你想学究式地正确,你可以随时将其扩展为“返回 Foo 的实例(在子类实例上调用 Foo 子类)”。


推荐阅读