In some cases it is true that you would want to be this precise with how you describe a function/method. If you were designing a spec or overloading a function/method for example, this distinction would be very important. This is because of the way that most languages handle calling a function. Arguments passed to the function are usually sent to a new "stack" where they are assigned to temporary parameter variables while the function is executing. In some languages, functions can be "overloaded" so that the type of the argument (string, int, etc.) can have a dramatic effect on what the function actually does. Because of this, it pays to differentiate between parameters and arguments in certain cases.
However, python does not care about types, so usually this stuff doesn't really matter. In effect, any given number of arguments will be assigned to the same parameters when a function is called, so it's okay to think of them as synonymous. In fact, python will even let you directly assign values to parameters as keyword arguments, dismissing the need for classical argument passing entirely, for example: function(foo=0, bar=1)
. Moreover, for the purposes of learning the basics of python, the distinction is really unnecessary.