Các loại tham số hình thức
Bạn có thể gọi một hàm bằng cách sử dụng các loại tham số hình thức sau:
- Tham số bắt buộc (Positional arguments)
- Tham số khóa (Keyword arguments)
- Tham số mặc định (Default arguments)
- Tham số có độ dài không xác định (Variable-length arguments)
Tham số bắt buộc (Positional arguments)
Tham số bắt buộc là các tham số được truyền cho hàm theo đúng thứ tự. Số lượng tham số trong lời gọi hàm phải khớp với định nghĩa hàm.
Ví dụ:
# Tham số bắt buộc
def sum(a, b):
return a + b
result = sum(3, 5)
print(result) # output: 8
Nếu bạn không truyền đủ số lượng tham số, ví dụ như gọi
result = sum(3)
Python sẽ báo lỗi như sau:
Traceback (most recent call last):
File "test.py", line 11, in <module>
sum();
TypeError: sum() takes exactly 2 argument (1 given)
Lỗi này có nghĩa là hàm sum() cần 2 tham số, nhưng bạn chỉ truyền 1 tham số.
Tham số khóa (Keyword arguments)
Các tham số khóa liên quan đến các lời gọi hàm. Khi bạn sử dụng các tham số khóa trong một lời gọi hàm, người gọi xác định các tham số bằng tên tham số.
Điều này cho phép bạn bỏ qua các tham số hoặc đặt chúng không theo thứ tự vì trình thông dịch Python có thể sử dụng các khóa được cung cấp để phù hợp các giá trị với các tham số.
def printinfo(name, age):
print("Name:", name, "Age", age)
return
printinfo(age=50, name="miki") # output: Name: miki Age 50
Tham số mặc định (Default arguments)
Đây là các tham số mà bạn có thể đặt giá trị mặc định cho chúng trong khai báo hàm. Nếu người dùng không truyền giá trị cho tham số này khi gọi hàm, thì giá trị mặc định sẽ được sử dụng. Tham số mặc định phải được đặt sau các tham số bắt buộc.
# Tham số mặc định
def greet(name, greeting="Hello"):
print(greeting, name)
greet("Alice") # output: Hello Alice
greet("Bob", "Hi") # output: Hi Bob
Tham số có độ dài thay đổi - Variable-length arguments
Variable-length arguments (còn được gọi là varargs) là một tính năng trong một số ngôn ngữ lập trình cho phép truyền vào hàm một số lượng tham số không xác định trước đó. Thay vì định nghĩa các tham số cụ thể, chúng ta sử dụng cú pháp đặc biệt để cho phép hàm có thể nhận nhiều hơn hoặc ít hơn các tham số được truyền vào.
Trong Python, để khai báo variable-length arguments, ta sử dụng dấu * cho các tham số của hàm. Ví dụ:
def function_name(*args):
# code here
Trong đó args là tên của tuple chứa các tham số được truyền vào. Để gọi hàm và truyền các tham số vào, ta sử dụng cú pháp sau:
function_name(param1, param2, ..., paramN)
Ví dụ cụ thể:
def sum(*numbers):
result = 0
for number in numbers:
result += number
return result
print(sum(1, 2, 3)) # output: 6
print(sum(4, 5, 6, 7)) # output: 22
print(sum()) # output: 0
Bình luận