Một vài chi tiết bổ sung nào có thể hữu ích để biết (câu hỏi tôi đã có sau khi đọc bài viết này và đi và thử nghiệm):
- Chức năng có thể có tham số mà là không có trong từ điển
- Bạn có thể không ghi đè tham số đã có trong từ điển
- Từ điển có thể không có tham số không có trong hàm.
Ví dụ của từng:
In[3]: def test(a=4, b=2):
...: print a, b
...:
Số 1: Các chức năng có thể có tham số mà không có trong từ điển
In[6]: mydict = {'a': 100}
In[7]: test(**mydict)
100 2
Số 2: Bạn có thể không ghi đè thông số đã có trong từ điển
In[8]: mydict = {'a': 100, 'b': 200}
In[9]: test(a=3, **mydict)
TypeError: test() got multiple values for keyword argument 'a'
Số 3: Từ điển không thể có thông số không có trong hàm.
In[10]: mydict = {'a': 100, 'b': 200, 'c': 300}
In[11]: test(**mydict)
TypeError: test() got an unexpected keyword argument 'c'
Nguồn
2017-04-05 18:29:25
nếu bạn muốn điều này giúp người khác, bạn nên đặt lại câu hỏi của mình: vấn đề không phải là từ điển, bạn muốn chuyển từ khóa thành thông số từ khóa – Javier
Cần lưu ý rằng bạn cũng có thể giải nén danh sách thành đối số vị trí: f2 (* [1,2]) –
"dereference": thuật ngữ thông thường, trong ngữ cảnh Python này, là "giải nén". :) – mipadi