2
return tuple(sorted(d.items()))
10
Traceback (most recent call last):
11
TypeError: spam() takes exactly 3 positional arguments (2 given)
13
Traceback (most recent call last):
14
TypeError: spam() takes exactly 3 positional arguments (4 given)
16
Traceback (most recent call last):
17
TypeError: spam() got an unexpected keyword argument 'a'
21
def grail(x, y, z, *a):
27
>>> grail(1,2,3,4,5,6,7,8,9)
28
(1, 2, 3, (4, 5, 6, 7, 8, 9))
30
Traceback (most recent call last):
31
TypeError: grail() takes at least 3 positional arguments (2 given)
33
Traceback (most recent call last):
34
TypeError: grail() got an unexpected keyword argument 'a'
38
def swallow(x, y, z, **k):
43
Traceback (most recent call last):
44
TypeError: swallow() takes exactly 3 positional arguments (4 given)
45
>>> swallow(1,2,3, a=1, b=2)
46
(1, 2, 3, (('a', 1), ('b', 2)))
47
>>> swallow(1,2,3, x=1)
48
Traceback (most recent call last):
49
TypeError: swallow() got multiple values for keyword argument 'x'
51
return (x, y, z, sorteditems(k))
53
def creosote(x, y, z, *a, **k):
59
>>> creosote(1,2,3, a=1)
60
(1, 2, 3, (), (('a', 1),))
61
>>> creosote(1,2,3,4, a=1, b=2)
62
(1, 2, 3, (4,), (('a', 1), ('b', 2)))
63
>>> creosote(1,2,3,4, x=1)
64
Traceback (most recent call last):
65
TypeError: creosote() got multiple values for keyword argument 'x'
67
return (x, y, z, a, sorteditems(k))
76
Traceback (most recent call last):
77
TypeError: onlyt() got an unexpected keyword argument 'a'
79
Traceback (most recent call last):
80
TypeError: onlyt() got an unexpected keyword argument 'a'
81
>>> test_no_copy_args(onlyt)
93
Traceback (most recent call last):
94
TypeError: onlyk() takes exactly 0 positional arguments (1 given)
96
Traceback (most recent call last):
97
TypeError: onlyk() takes exactly 0 positional arguments (2 given)
98
>>> onlyk(1, a=1, b=2)
99
Traceback (most recent call last):
100
TypeError: onlyk() takes exactly 0 positional arguments (1 given)
102
return sorteditems(k)
115
(1, ('a', 1), ('b', 2))
117
return a + sorteditems(k)
121
>>> test_no_copy_args(t_kwonly, k=None)
127
def test_no_copy_args(func, **kw):
129
func is a function such that func(*args, **kw) returns args.
130
We test that no copy is made of the args tuple.
131
This tests both the caller side and the callee side.
134
return func(*args, **kw) is args