Computer >> Máy Tính >  >> Lập trình >> Python

Làm thế nào để sử dụng * args và ** kwargs trong Python?


Trong Python, dạng dấu hoa thị đơn của * args có thể được sử dụng làm tham số để gửi danh sách đối số có độ dài biến không có từ khóa đến các hàm. Có thể thấy rằng dấu hoa thị (*) là quan trọng ở đây và cùng với từ args, điều đó có nghĩa là có một danh sách các đối số không có từ khóa có độ dài thay đổi.

Ví dụ

Mã đã cho trên * args được viết lại như sau

def multiply(*args):
    y = 1
    for i in args:
        y = y * i
    print y
multiply(3, 4)
multiply(10, 8)
multiply(2, 5, 6)
multiply(4, 5, 10, 9)

Đầu ra

C:/Users/TutorialsPoint1/~.py
12
80
60
1800

Dạng dấu hoa thị kép của ** kwargs được sử dụng để chuyển từ điển đối số có từ khóa, độ dài thay đổi vào một hàm. Một lần nữa, hai dấu hoa thị (**) là quan trọng và cùng với từ kwargs, cho biết rằng có một từ điển các đối số được từ khóa có độ dài thay đổi.

Ví dụ

Mã đã cho trên ** kwargs được viết lại thành

def print_kwargs(**kwargs):
    print(kwargs)
print_kwargs(a='foo', b=10, c =True)

Đầu ra

C:/Users/TutorialsPoint1/~.py
{'a': 'foo', 'b': 10, 'c': True}