title: Returning variable vs. Setting variable
body: <p>I'm considering the following approaches for class initialisation:</p>
  
  <pre><code>class Foo():
      def __init__(self):
          self.name = self.get_name()
      def get_name(self):
          return raw_input("Name: ")
  
  class Foo():
      def __init__(self):
          self.name = ""
          self.get_name()
      def get_name(self):
          self.name = raw_input("Name: ")
  
  class Foo():
      def __init__(self):
          self.name = raw_input("Name: ")
  </code></pre>
  
  <p>Is there any practical reason to opt for one over the others?</p>
  
  <p>If not, which might be considered most Pythonic?</p>