blob: 050b2066cc54202d380873118b16d25028efd7e2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
"""
The `kwarg-superseded-by-positional-arg` warning message is emitted when a function is called with
a keyword argument which shares a name with a positional-only parameter and
the function contains a keyword variadic parameter dictionary.
It may be surprising behaviour when the keyword argument is added to the
keyword variadic parameter dictionary.
"""
def name1(apple, /, banana="Yellow banana", **kwargs):
"""
Positional-only parameter, positional-or-keyword parameter and `**kwargs`.
>>> name1("Red apple", apple="Green apple", banana="Green banana")
Red apple
Green banana
{"apple": "Green apple"}
"""
print(apple)
print(banana)
print(kwargs)
# +1: [kwarg-superseded-by-positional-arg]
name1("Red apple", apple="Green apple", banana="Green banana")
name1("Red apple", banana="Green banana")
def name2(apple="Green apple", /, **kwargs):
"""
>>> name2(apple="Red apple")
Green apple
{'apple': 'Red apple'}
"""
print(apple)
print(kwargs)
name2(apple="Red apple") # [kwarg-superseded-by-positional-arg]
|