Python numpydoc约定:方法修改类,但不返回任何内容
关于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`.
我有一个类,它包含许多方法,这些方法不返回任何内容,只向该类添加一个属性。例如:
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风格的方法来实现这一点?只要看看这个描述,在我看来,这个类可能是不必要的。。。只需使用接受所需数据并返回处理结果的函数即可。