การยืนยันคือการตรวจสอบสติว่าคุณเปิดหรือปิดได้เมื่อทดสอบโปรแกรมเสร็จแล้ว
วิธีที่ง่ายที่สุดในการนึกถึงการยืนยันคือการเปรียบเสมือนกับ raise-if คำสั่ง (หรือเพื่อให้ถูกต้องมากขึ้น คำสั่งยกถ้าไม่ใช่) นิพจน์ได้รับการทดสอบ และหากผลลัพธ์เป็นเท็จ ข้อยกเว้นจะถูกยกขึ้น
การยืนยันจะดำเนินการโดยคำสั่งยืนยัน ซึ่งเป็นคีย์เวิร์ดใหม่ล่าสุดของ Python ที่เปิดตัวในเวอร์ชัน 1.5
โปรแกรมเมอร์มักจะยืนยันที่จุดเริ่มต้นของฟังก์ชันเพื่อตรวจสอบอินพุตที่ถูกต้อง และหลังจากการเรียกใช้ฟังก์ชันเพื่อตรวจสอบเอาต์พุตที่ถูกต้อง
คำยืนยัน
เมื่อพบคำสั่งยืนยัน Python จะประเมินนิพจน์ที่มาพร้อมกัน ซึ่งหวังว่าจะเป็นจริง หากนิพจน์เป็นเท็จ Python จะยกข้อยกเว้น AssertionError
ไวยากรณ์ สำหรับการยืนยันคือ −
assert Expression[, Arguments]
หากการยืนยันล้มเหลว Python จะใช้ ArgumentExpression เป็นอาร์กิวเมนต์สำหรับ AssertionError สามารถตรวจจับและจัดการข้อยกเว้น AssertionError ได้เหมือนกับข้อยกเว้นอื่น ๆ โดยใช้คำสั่ง try-except แต่ถ้าไม่ได้รับการจัดการ ก็จะยุติโปรแกรมและสร้างการสืบค้นกลับ
ตัวอย่าง
นี่คือฟังก์ชันที่แปลงอุณหภูมิจากองศาเคลวินเป็นองศาฟาเรนไฮต์ เนื่องจากศูนย์องศาเคลวินนั้นเย็นจัด ฟังก์ชันจึงหยุดทำงานหากเห็นอุณหภูมิติดลบ -
#!/usr/bin/python def KelvinToFahrenheit(Temperature): assert (Temperature >= 0),"Colder than absolute zero!" return ((Temperature-273)*1.8)+32 print KelvinToFahrenheit(273) print int(KelvinToFahrenheit(505.78)) print KelvinToFahrenheit(-5)
ผลลัพธ์
เมื่อโค้ดด้านบนถูกรัน มันจะให้ผลลัพธ์ดังต่อไปนี้ −
32.0 451 Traceback (most recent call last): File "test.py", line 9, in <module> print KelvinToFahrenheit(-5) File "test.py", line 4, in KelvinToFahrenheit assert (Temperature >= 0),"Colder than absolute zero!" AssertionError: Colder than absolute zero!