ฉันต้องการที่จะสามารถจับข้อเท็จจริงเหมือนและBob was born in 2000
Bill's birthday is May 7th
ในตัวอย่างทั้งสองเรารู้เพียงส่วนหนึ่งของวันเดือนปีเกิดของบุคคลนั้น ในกรณีหนึ่งเรารู้เพียงปีเท่านั้น ในกรณีอื่นเรารู้เดือนและวัน แต่ไม่ใช่ปี
ฉันจะรวบรวมข้อมูลนี้ได้อย่างไร
ตัวอย่างเล็ก ๆ น้อย ๆ ของการทำงานนี้:
ลองนึกภาพห้องสมุดเช่นวันที่และเวลาที่อนุญาตให้ไม่มีในเขตข้อมูลเพื่อแสดงสิ่งที่ไม่รู้จัก ฉันอาจมีรหัสดังนี้:
date_a = date(2000, 5, None)
date_b = date(2000, 6, None)
difference = date_b - date_a
assert difference.min.days == 1
assert difference.max.days == 60 # Or something close to 60.
assert equal(date_a, date_b) == False
date_c = date(2000, 5, None)
assert equal(date_a, date_c) == Maybe
นี่เป็นเพียงตัวอย่างของพฤติกรรมที่อาจเกิดขึ้น ฉันไม่ต้องการพฤติกรรมที่แม่นยำนี้