def fun(a, b, c, d):
print('a:', a, 'b:', b, 'c:', c, 'd:', d)
tại sao cái này hoạt động
fun(3, 7, d=10, *(23,))
và in ra:
a: 3 b: 7 c: 23 d: 10
trong khi điều này
fun(3, 7, c=10, *(23,))
không làm
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'
@ Lỗi-SyntaticsRemorse. Tôi nghĩ rằng bạn đang thiếu điểm. OP đã tìm thấy một trường hợp mà bạn thực sự có thể đặt một vị trí sau một từ khóa, và nó hoạt động.
—
Nhà vật lý điên
@MadPhysicist Tôi thấy điều đó. Nhưng tôi không chỉ đưa ra một tuyên bố rằng việc giải nén không nên diễn ra sau các đối số từ khóa. Vì vậy, tôi đã làm cho nó như là một bình luận không phải là một câu trả lời.
—
Lỗi - hối hận cú pháp
Câu hỏi tuyệt vời. Không bao giờ biết đây là một điều.
—
Lỗi - hối hận cú pháp
SyntaxError: positional argument follows keyword argument
.