Python code readability
<p>I have a programming experience with statically typed languages. Now writing code in Python I feel difficulties with its readability. Lets say I have a class <em>Host</em>:</p>

<pre><code>class Host(object):
  def __init__(self, name, network_interface):
    self.name = name
    self.network_interface = network_interface
</code></pre>

<p>I don't understand from this definition, what "*network_interface*" should be. Is it a <em>string</em>, like "<em>eth0</em>" or is it an instance of a class <em>NetworkInterface</em>? The only way I'm thinking about to solve this is a documenting the code with a "<em>docstring</em>". Something like this:</p>

<pre><code>class Host(object):
  ''' Attributes:
      @name: a string
      @network_interface: an instance of class NetworkInterface'''
</code></pre>

<p>Or may be there are name conventions for things like that?</p>
