ตรวจสอบประเภทข้อมูลที่คืนค่า
ความยืดหยุ่นด้านชนิดข้อมูลของ Python มักถูกยกมาเป็นหนึ่งในข้อดีของภาษานี้ แต่บางครั้งก็อาจก่อให้เกิดปัญหาได้หากชนิดข้อมูลที่ผิดพลาดไม่ได้รับการตรวจพบ เพื่อให้แน่ใจว่าโค้ดทำงานได้ตรงตามที่ต้องการ คุณจะตรวจสอบชนิดข้อมูลที่คืนค่าในทุกฟังก์ชันอย่างชัดเจน และตรวจสอบว่าคืนค่าตามที่คาดไว้ ในการทำเช่นนี้ คุณจะสร้าง decorator ที่ตรวจสอบว่าชนิดข้อมูลที่คืนค่าของฟังก์ชันที่ถูก decorate นั้นถูกต้องหรือไม่
หมายเหตุ: assert คือคีย์เวิร์ดที่ใช้ทดสอบว่าเงื่อนไขเป็นจริงหรือไม่ หากพิมพ์ assert condition แล้ว condition เป็น True ฟังก์ชันนี้จะไม่ทำอะไร แต่ถ้า condition เป็น False จะเกิด error ขึ้น โดยชนิดของ error ที่เกิดขึ้นเรียกว่า AssertionError
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การเขียนฟังก์ชันใน Python
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
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!')