Python cho phép các đối số hàm có giá trị mặc định; nếu hàm được gọi không có đối số đó, nó sẽ nhận giá trị mặc định. Hơn nữa, các đối số có thể được chỉ định theo bất kỳ thứ tự nào bằng cách sử dụng named arguments (đối số tên).
Ví dụ minh họa
def greet(name, msg="Good Morning", msg2="Come on in"):
print(name, msg, msg2)
greet("Archie") # Chỉ truyền name
greet("Richie", "How do you do?") # Truyền name và msg
greet("Bob", msg2="Welcome") # Truyền name và msg2 theo tên
Đầu ra
Archie Good Morning Come on in Richie How do you do? Come on in Bob Good Morning Welcome
Giải thích
namelà required argument (bắt buộc) vì không có giá trị mặc định.msgvàmsg2là optional arguments (tùy chọn) vì có giá trị mặc định.- Python cho phép truyền đối số theo tên (
msg2="Welcome") nên có thể bỏ qua các đối số giữa.
Trong hầu hết các ngôn ngữ khác, bạn phải truyền đủ 3 đối số theo đúng thứ tự. Nhưng Python linh hoạt hơn nhờ keyword arguments.