2011-09-15 25 views
10

Từ một tập tin bên ngoài tôi tạo ra các từ điển sau:Cách tạo danh sách `kwargs`?

mydict = { 'foo' : 123, 'bar' : 456 } 

Cho một chức năng mà phải mất một lập luận **kwargs, làm thế nào có thể tạo ra các từ khóa args từ điển đó?

+2

Hãy thử 'foo (** mydict)' – wberry

+0

Tại sao lưu ý lại? –

Trả lời

18
def foo(**kwargs): 
    pass 

foo(**{ 'foo' : 123, 'bar' : 456 }) 
+2

Hoặc, nếu hàm nhận _only_ 'kwargs' và' mydict' chứa tất cả các đối số, hãy bỏ tất cả '*' s. – agf

+0

@agf Vì vậy, tôi chỉ có thể chuyển từ điển? Nếu hàm đó có '(self, ** kwargs)', tôi có thể làm 'obj.func (mydict)' không? –

+1

@Paul Không - Chỉ khi bạn viết lại nó để có '(tự, kwargs)'. – agf

Các vấn đề liên quan