eval
และ exec
ซึ่งจะทำการรับ code ที่เก็บเป็น string มารันความแตกต่างคือ
eval
จะสามารถใช้ได้กับ expression เท่านั้น ไม่สามารถใช้กับ statement ได้ (คือไม่สามารถกำหนดค่าให้กับตัวแปรได้นั่นเอง)การวัดความเร็วสามารถทำได้โดยฟังก์ชัน
timeit
จากโมดูล timeit
โดยส่งผ่าน code เข้าไปเช่นนี้ตัวเลือกหนึ่งที่น่าสนใจคือ number ซึ่งหมายถึงรอบที่ใช้ทดลองเพื่อหาเวลารวม (ค่าปริยายคือหนึ่งล้าน) ถ้ารู้สึกว่าใช้เวลาทดลองนานเกินไปก็ลดรอบได้
ส่วนการจะทดสอบ function ที่เขียนไว้ล่วงหน้าแล้ว ก็ทำได้ผ่านการ setup เช่นนี้
หรือถ้าหากต้องการทดสอบจาก shell ก็สามารถสั่งแบบนี้ได้
สังเกตว่ารูปแบบการพิมพ์ผลลัพท์ที่ได้จะต่างออกไปเล็กน้อยนะครับ
No comments:
Post a Comment