Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to show instance attributes in sphinx doc?

Is there any way to automatically show variables var1 and var2 and their init-values in sphinx documentation?

class MyClass:     """         Description for class     """      def __init__(self, par1, par2):        self.var1 = par1 * 2        self.var2 = par2 * 2      def method(self):        pass 
like image 321
Meloun Avatar asked Dec 27 '11 20:12

Meloun


People also ask

What are the instance attributes?

Instance attributes are what we've seen before. These are the attributes that are independent to each object, like the door color or the height, in the previous example. In this example, our Dog class has two instance attributes: . name and .

What are class instance attributes?

Class attributes are the variables defined directly in the class that are shared by all objects of the class. Instance attributes are attributes or properties attached to an instance of a class. Instance attributes are defined in the constructor.

What are instance attributes in Java?

Instance attributes are owned by the specific instance of the class, meaning that these attributes can vary from instance to instance of a specific class. On the other hand, Class attributes are owned by the class itself, so the attribute has the same value for each instance of a particular class.

What is Ivar in Python?

ivar is an "instance variable", or a variable that is set on an instance object (an instance of a class). Typically these would be defined (in Python) inside of an __init__ method.


1 Answers

Your variables are instance variables, not class variables.

Without attaching a docstring (or a #: "doc comment") to the variables, they won't be documented. You could do as follows:

class MyClass(object):     """         Description for class       """      def __init__(self, par1, par2):         self.var1 = par1 #: initial value: par1         self.var2 = par2 #: initial value: par2      def method(self):         pass 

But I would prefer to include variable documentation by using info fields:

class MyClass(object):     """         Description for class      :ivar var1: initial value: par1     :ivar var2: initial value: par2     """      def __init__(self, par1, par2):         self.var1 = par1          self.var2 = par2       def method(self):         pass 

See also:

  • http://www.sphinx-doc.org/ext/autodoc.html#directive-autoattribute
  • How can I make Python/Sphinx document object attributes only declared in __init__?
  • Problems with autodoc and explicitly specified instance attributes
like image 123
mzjn Avatar answered Sep 23 '22 19:09

mzjn