[dgplug-users] Need Help in understanding the Error Message

Pabitra Pati pabitrakumarpati at gmail.com
Mon Feb 27 01:37:00 PST 2017

Hi All,

I want to understand the error message I am getting.
Below is my code piece :-

    def total(name, *args):
        if args:
            print("%s has total money of Rs %d/- " %(name, sum(args)))
            print("%s's piggy bank  has no money" %name)

I can call this method passing the extra arguments inside *().
I know the correct way of passing the arguments. But, I am passing value
for 'name' in form of param=value, *intentionally*, so that it throws me
error. However, I am unable to understand the below error message :-

    >>> total(name="Adi", *(1, 2, 10) )
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    TypeError: total() got multiple values for keyword argument 'name'

How Python is evaluating the above call, that it's getting multiple values
for the parameter 'name'?

Any help is appreciated.



More information about the Users mailing list