Kiểm tra kiểu giá trị trả về
Tính linh hoạt của Python về kiểu dữ liệu thường được xem là một ưu điểm của ngôn ngữ. Tuy vậy, đôi khi nó có thể gây rắc rối nếu các kiểu dữ liệu không đúng bị bỏ sót. Bạn quyết định rằng để đảm bảo mã của bạn làm đúng chính xác những gì bạn muốn, bạn sẽ kiểm tra tường minh kiểu giá trị trả về trong tất cả các hàm và đảm bảo chúng trả về đúng như kỳ vọng. Để làm điều đó, bạn sẽ tạo một decorator kiểm tra xem kiểu trả về của hàm được trang trí có đúng hay không.
Lưu ý: assert là một từ khóa bạn có thể dùng để kiểm tra một điều kiện có đúng hay không. Nếu bạn gõ assert condition và condition là True, lệnh này không làm gì cả. Nếu condition là False, lệnh này sẽ phát sinh lỗi. Kiểu lỗi được phát sinh gọi là AssertionError.
Bài tập này là một phần của khóa học
Viết hàm trong Python
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
def returns_dict(func):
# Complete the returns_dict() decorator
def wrapper(____):
result = ____
assert type(result) == dict
return result
____
@returns_dict
def foo(value):
return value
try:
print(foo([1,2,3]))
except AssertionError:
print('foo() did not return a dict!')