def fun(a, b, c, d):
print('a:', a, 'b:', b, 'c:', c, 'd:', d)
なぜこれが機能するのか
fun(3, 7, d=10, *(23,))
そしてプリントアウト:
a: 3 b: 7 c: 23 d: 10
この間
fun(3, 7, c=10, *(23,))
ではない
Traceback (most recent call last):
File "/home/lookash/PycharmProjects/PythonLearning/learning.py", line 10, in <module>
fun(3, 7, c=10, *(23,))
TypeError: fun() got multiple values for argument 'c'
@ Error-SyntacticalRemorse。ポイントを逃していると思います。OPは、キーワードの後に実際に位置を置くことができるケースを発見し、それは機能します。
—
マッド
@MadPhysicistなるほど。しかし、私はタプルのアンパックはキーワード引数の後に行われるべきではないというステートメントを作成していました。したがって、私は答えではなくコメントとしてそれを作りました。
—
エラー-構文的反省
素晴らしい質問です。これが何かであることを知らなかった。
—
エラー-構文的
SyntaxError: positional argument follows keyword argument
です。