Truyền nhiều tham số vào hàm trong Python
Giả sử chúng ta có một hàm nhận nhiều tham số số:
def func(num1, num2):
return num1 + num2
print(func(2, 3))
Khi gọi hàm, các số được cung cấp 2
và 3 sẽ được đưa vào các biến num1
và num2 tương ứng.
Nhưng có những trường hợp cần truyền
nhiều tham số khi gọi hàm, số lượng
chúng không được biết trước. Trong Python có thể
chỉ định chỉ một biến khi khai báo hàm,
từ đó sau này sẽ tạo ra một tuple
của tất cả các tham số được truyền khi gọi.
Để làm điều này, trước biến này cần
chỉ định ký tự *. Biến như vậy
thường được gọi là args, nhưng có thể
đặt cho nó bất kỳ tên nào khác. Và để
trích xuất tất cả các tham số, cần viết trong
thân hàm biến này, nhưng không có
*:
def func(*args):
return args
print(func(1, 2, 3)) # sẽ in ra (1, 2, 3)
Sau đó, với các tham số nhận được có thể thực hiện bất kỳ thao tác nào khác. Hãy tính tổng của chúng:
def func(*args):
return sum(args)
print(func(1, 2, 3)) # sẽ in ra 6
Hãy viết một hàm, sẽ nhận một số lượng không giới hạn tên người dùng làm tham số và in chúng ra console dưới dạng một tuple.