title: What is the difference between argument and parameter in python perspective [not duplicate :) ]?
body: <p>I heard that argument means the method arguments, ( for example in below code)</p>
  
  <pre><code>def abc(a, b):
      pass
  
  c = 2
  d = 3
  abc(c,d)
  </code></pre>
  
  <p>a and b are arguments and c and d are parameters. Correct me if I am wrong?</p>
  
  <p>Then in the below code </p>
  
  <pre><code>def abc(c=1,d):
      pass
  </code></pre>
  
  <p>The error message is:</p>
  
  <blockquote>
    <p>SyntaxError: non-default argument follows default argument</p>
  </blockquote>
  
  <p>And also in below code</p>
  
  <pre><code>def abc(a,b):
      pass
  
  abc(a=1,2)
  </code></pre>
  
  <p>The error message is:</p>
  
  <blockquote>
    <p>SyntaxError: non-keyword arg after keyword arg</p>
  </blockquote>
  
  <p>In both error messaeges, 'no-default <strong>argument</strong> follows default <strong>argument</strong>' and 'non-keyword <strong>arg</strong> after keyword <strong>arg</strong>', why there is no mention of paramter? </p>
  
  <p>It caused the confusion to me many times with both the error messages so aksing this question. Is there any specific reason for error message to be like this. and also could you let me know how to remember the correct error message corresponding to that error. Thank you.</p>