Hãy đánh giá tính đúng sai của các nhận định sau:
a) Ta có thể thay đổi thứ tự của các đối số khi gọi hàm nếu sử dụng tên tham số.
b) Đối số có thể được truyền vào hàm mà không cần theo thứ tự nếu sử dụng tham số không giới hạn.
c) Thứ tự của các đối số không quan trọng nếu tất cả các tham số đều có giá trị mặc định.
d) Tham số của hàm luôn phải được cung cấp theo thứ tự khi gọi hàm.
Quảng cáo
2 câu trả lời 155
a) Ta có thể thay đổi thứ tự của các đối số khi gọi hàm nếu sử dụng tên tham số.
Đúng
Khi gọi hàm bằng tên tham số (keyword arguments), thứ tự không quan trọng.
python
Sao chépChỉnh sửa
def greet(name, age):
print(f"Hello {name}, you are {age} years old")
greet(age=20, name="An") # Được phép đổi thứ tự vì có dùng tên
b) Đối số có thể được truyền vào hàm mà không cần theo thứ tự nếu sử dụng tham số không giới hạn.
Sai
Tham số không giới hạn như *args hoặc **kwargs dùng để nhận số lượng đối số tùy ý, nhưng thứ tự vẫn quan trọng đối với các đối số không đặt tên.
python
Sao chépChỉnh sửa
def demo(*args):
print(args)
demo(1, 2, 3) # Hợp lệ nhưng thứ tự vẫn ảnh hưởng đến ý nghĩa
Bạn không thể bỏ qua thứ tự nếu không dùng tên tham số.
c) Thứ tự của các đối số không quan trọng nếu tất cả các tham số đều có giá trị mặc định.
Sai
Nếu gọi hàm không dùng tên tham số, thứ tự vẫn quan trọng dù có giá trị mặc định.
python
Sao chépChỉnh sửa
def test(a=1, b=2):
print(a, b)
test(5, 6) # a=5, b=6
test(b=6, a=5) # a=5, b=6 — dùng tên thì thứ tự không quan trọng
=> Chỉ khi dùng tên tham số thì mới không cần theo thứ tự.
d) Tham số của hàm luôn phải được cung cấp theo thứ tự khi gọi hàm.
Sai
Nếu gọi hàm bằng keyword arguments, bạn không cần theo thứ tự.
python
Sao chépChỉnh sửa
def say(name, city):
print(name, city)
say(city="Hà Nội", name="Minh") # Hợp lệ, không theo thứ tự
Nhận định
Đúng/Sai
Giải thích ngắn
a
Đúng
Dùng tên tham số thì thứ tự không quan trọng
b
Sai
*args vẫn phụ thuộc vào thứ tự đối số
c
Sai
Thứ tự vẫn quan trọng nếu không dùng tên
d
Sai
Có thể không cần theo thứ tự nếu dùng keyword arguments
b) Sai – Tham số không giới hạn (*args, **kwargs) không cho phép truyền lung tung, vẫn có quy tắc rõ ràng.
c) Sai – Nếu tất cả tham số đều có giá trị mặc định thì có thể bỏ qua đối số, nhưng khi truyền vào thì vẫn phải theo thứ tự hoặc dùng tên tham số.
d) Sai – Không phải lúc nào cũng phải theo thứ tự, vì ta có thể dùng keyword arguments.
Quảng cáo
Bạn cần hỏi gì?
Câu hỏi hot cùng chủ đề
-
Đã trả lời bởi chuyên gia
55319 -
Đã trả lời bởi chuyên gia
31180 -
Đã trả lời bởi chuyên gia
29757
