Tạo một hàm có độ dài đối số thay đổi trong Python
Trong bài tập này, bạn có thể tạo các hàm chấp nhận số lượng đối số thay đổi bằng cách sử dụng *args
(viết tắt của arguments) làm đối số. *args
cho phép hàm nhận một danh sách không xác định số lượng đối số và truy cập chúng dưới dạng một tuple. Mình sẽ tạo một chương trình với hàm func1()
sử dụng *args
để in giá trị của các đối số có độ dài thay đổi.
Cú pháp tạo hàm với *args trong Python
Để tạo một hàm chấp nhận độ dài đối số thay đổi, bạn có thể sử dụng cú pháp sau:
def ten_ham(*args): # Thân hàm - xử lý các đối số trong args for arg in args: print(arg)
Tạo hàm func1() chấp nhận độ dài đối số thay đổi
Hãy viết một chương trình Python với hàm func1()
nhận vào các đối số có độ dài thay đổi bằng cách sử dụng *args
. Hàm này sẽ in giá trị của từng đối số một lần.
def func1(*args): # Thân hàm - in giá trị của từng đối số for arg in args: print(arg) # Gọi hàm và truyền các đối số func1(1, 2, 3) func1('Hello', 'World') func1(3.14, 42, 'Python')
Hàm func1()
được định nghĩa với *args
làm đối số, cho phép hàm nhận một danh sách không xác định số lượng đối số và truy cập chúng thông qua biến args
như một tuple.
Trong thân hàm, sử dụng vòng lặp for để duyệt qua từng đối số trong args
.
Dùng câu lệnh print
để in giá trị của từng đối số.
Kết quả:
1 2 3 Hello World 3.14 42 Python
Giải thích kết quả:
- Lần gọi hàm func1(1, 2, 3) sẽ in ra các giá trị 1, 2 và 3 trên từng dòng.
- Lần gọi hàm func1('Hello', 'World') sẽ in ra hai chuỗi 'Hello' và 'World' trên từng dòng.
- Lần gọi hàm func1(3.14, 42, 'Python') sẽ in ra hai số thực 3.14, 42 và chuỗi 'Python' trên từng dòng.
Như vậy, hàm func1()
có thể chấp nhận các đối số có độ dài thay đổi thông qua *args, cho phép bạn truyền vào bất kỳ số lượng đối số nào một cách linh hoạt và dễ dàng xử lý chúng trong thân hàm.
Hàm này cho phép mình truyền vào bất kỳ số lượng đối số nào và in giá trị của chúng một cách dễ dàng. Việc sử dụng *args là một công cụ mạnh mẽ giúp bạn xây dựng các hàm linh hoạt và đa dạng trong Python. Hãy thử tạo nhiều hàm hơn và tìm hiểu các khả năng của Python trong việc xử lý đối số thay đổi.
Bài giải
-------------------- ######## --------------------
Câu hỏi thường gặp liên quan:
- Tạo hàm thông tin người dùng trong Python
- Tạo một hàm có độ dài đối số thay đổi trong Python
- Trả về nhiều giá trị từ một hàm trong Python
- Tạo hàm với đối số mặc định trong Python
- Tạo hàm bên trong để tính phép cộng theo mẫu trong Python
- Tạo hàm đệ quy để tính tổng các số từ 0 đến 10 trong Python
- Tạo một danh sách gồm tất cả các số chẵn từ 4 đến 30 trong Python
- Tìm phần tử lớn nhất từ một danh sách cho trước trong Python