[Python-Dev] TypeError: f() missing 1 required positional argument: 'x'

Benjamin Peterson benjamin at python.org
Thu Sep 20 17:14:57 CEST 2012


2012/9/20 Mark Dickinson <dickinsm at gmail.com>:
> And excepting optional ones, too, right?  E.g., the c in
>
>     def foo(a, b, c=1, *args, d):
>         pass
>
> can be passed to by position, but isn't "positional".

Why not?

>>> def f(a, b, c=3): pass
...
>>> f()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: f() missing 2 required positional arguments: 'a' and 'b'
>>> f(1, 2, 3, 4)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: f() takes from 2 to 3 positional arguments but 4 were given



-- 
Regards,
Benjamin


More information about the Python-Dev mailing list