Required arguments là các đối số bắt buộc phải truyền khi gọi hàm, theo đúng số lượng và thứ tự.
Ví dụ
def requiredArg(name, age):
print(name, age)
requiredArg('Hi', 15) # OK: Hi 15
requiredArg('Hello') # TypeError: requiredArg() takes exactly 2 arguments (1 given)
Đầu ra lỗi
Hi 15 Traceback (most recent call last): File "requiredarg1.py", line 4, inrequiredArg('Hello') TypeError: requiredArg() takes exactly 2 arguments (1 given)
Giải thích
- Lần gọi đầu tiên truyền đủ 2 đối số -> chạy bình thường.
- Lần gọi thứ hai chỉ truyền 1 đối số -> Python ném
TypeError. - Tham số không có giá trị mặc định = bắt buộc (required).
Vị trí tham số
Trong định nghĩa hàm, required arguments phải đứng trước default arguments:
# OK
def func(req1, req2, opt1=1, opt2=2): ...
# LỖI SyntaxError
def func(opt1=1, req1): ...