title: Am I using static method correctly?
body: <p>I have a large class that looks like the following:</p>
  <pre class="lang-py prettyprint-override"><code>class Trainer:
      def __init__(self, name, age, height, weight):
          self.name = name
          self.age = age
          self.height = height
          self.weight = weight
      
      def fit(self, dataloader):
          ....DO MODEL TRAINING...
          
          self.save(path=xxx)
          self.load(path=xxx)
      
      def save(self, path):
          self.model.eval()
          torch.save(self.model.state_dict(), path)
      
      @staticmethod
      def load(path: str):
          &quot;&quot;&quot;Load a model checkpoint from the given path.&quot;&quot;&quot;
          checkpoint = torch.load(path, map_location=torch.device(&quot;cpu&quot;))
          return checkpoint
  </code></pre>
  <p>From <a href="https://stackoverflow.com/questions/2438473/what-is-the-advantage-of-using-static-methods">here</a>, I see that since my <code>load()</code> does not need self since in the <code>load</code> method, we do not call self, then we should use <code>staticmethod</code>. Is this correct?</p>