Only declare variable if doesn't exist yet in the initialization of a class
<p>I'm working for the first time with OOP in a python project. I have 3 classes: PRA, GDB and XLS.</p>

<pre><code>PRA = Main Class
GDB = Responsible for control databases
XLS = Responsible for control xls(x)
UserInput = Responsible for validate user input
</code></pre>

<p>How i'm doing:</p>

<p>PRA:</p>

<pre><code>class PRA(GDB, XLS, UserInput):

    __init__():
      self.gdb_file, self.xls_file = self.ask_questions() # &lt;--- ask_questions is inside the UserInput class.
      self.do_something()
</code></pre>

<p>XLS:</p>

<pre><code>class XLS:

  do_something():
    print(self.xls_file)

  __init__(self, xls_file):
     self.xls_file = xls_file
</code></pre>

<p>GDB:</p>

<pre><code>class GDB:

  __init__(self, gdb_file):
     self.gdb_file = gdb_file
</code></pre>

<p>I would like to know if is a bad practice to initialize the gdb_file and xls_file inside the PRA.<strong>init</strong>, and if not, how can i run the initialization of self.xls_file and self.xls_gdb only in the PRA?</p>