title: How to accept additional parameter in subclass? (Without pylint's arguments-differ)
body: <p>I have a base class that represents the state of a game and provides a <code>perform_move</code> method:</p>
  
  <pre><code>class GameState:
    # other code
    def perform_move(self, position: LinePosition) -&gt; MoveResult:
      # more code
  </code></pre>
  
  <p>Now I want to create a subclass of <code>GameState</code> that keeps track of the players' score.
  Because the base class doesn't care about players (separation of concerns), I need an additional argument to identify the player that is performing the move.
  I tried the following:</p>
  
  <pre><code>class ScoreKeepingGameState(GameState):
    # other code
    def perform_move(self, position: LinePosition, *, player_identification: Optional[int] = None) -&gt; MoveResult:
      # more code
  </code></pre>
  
  <p>I expected this to work, since I can call <code>ScoreKeepingGameState</code>'s <code>perform_move</code> perfectly fine without the <code>player_identification</code>, alas pylint complains:</p>
  
  <blockquote>
    <p>W0221: Parameters differ from overridden 'perform_move' method (arguments-differ)</p>
  </blockquote>
  
  <p>Is there a cleaner approach to satisfy pylint than adding <code># pylint: disable=arguments-differ</code> to the <code>perform_move</code> definition of <code>ScoreKeepingGameState</code>?</p>