Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python numpydoc约定:方法修改类,但不返回任何内容_Python_Numpy_Docstring_Numpydoc - Fatal编程技术网

Python numpydoc约定:方法修改类,但不返回任何内容

Python numpydoc约定:方法修改类,但不返回任何内容,python,numpy,docstring,numpydoc,Python,Numpy,Docstring,Numpydoc,关于numpydoc文档字符串约定的问题: 我有一个类,它包含许多方法,这些方法不返回任何内容,只向该类添加一个属性。例如: class MyClass(object): def __init__(self, a, b): self.a = a self.b = b return def a_mult(self, mult): """ Multiplies `a` by `mult`.

关于numpydoc文档字符串约定的问题:


我有一个类,它包含许多方法,这些方法不返回任何内容,只向该类添加一个属性。例如:

class MyClass(object):
    def __init__(self, a, b):
         self.a = a
         self.b = b
         return

    def a_mult(self, mult):
        """
        Multiplies `a` by `mult`.

        Parameters
        ----------
        mult : float
            Value to multiply `a` by.

        Returns
        -------
        None
        """
        self.product = a * mult
        return
在这个笨拙的示例中,
MyClass.a\u mult
不返回任何内容,而是向
MyClass
添加一个属性

我已经为MyClass.a_mult添加了一个docstring,它遵循样式指南。docstring声明该方法返回None,但是我看不到一种标准的方法来记录
MyClass.a_mult
方法如何修改
MyClass
实例


提前感谢您的帮助

根据@mgilson和@user2357112的有益建议,我意识到我的类设计得很糟糕。我修改了,所以数据分析的所有阶段都存储在dict中。分析函数现在向dict添加元素,而不是向类实例添加新属性


谢谢你的指点。

一般来说,如果它在类上设置了属性(
product
),我会调用方法
set\u product
。“我有一个类,它包含许多不返回任何内容的方法,但会向类添加属性。”-这是非常不寻常的,通常是一个糟糕的设计。它使您的API成为一个高度有状态的乱七八糟的东西,并且与Python3的拆分表实例dict优化相冲突。如果用户想要设置产品属性,他们通常只需执行
my_class.product=my_class.a*mult
谢谢@mgilson-我仍在掌握类以及如何使用它们!目前,我有一个类,其中包含一些需要在几个连续步骤中处理的数据。该类有几个函数,每个函数对数据执行一个操作,并将其存储在一个新的类属性中。然后序列中的下一个函数对新创建的属性进行操作。有没有更好的/更具Python风格的方法来实现这一点?只要看看这个描述,在我看来,这个类可能是不必要的。。。只需使用接受所需数据并返回处理结果的函数即可。