SymPy - ฟังก์ชั่น sympify ()
ฟังก์ชัน sympify () ใช้ในการแปลงนิพจน์ใด ๆ โดยพลการเพื่อให้สามารถใช้เป็นนิพจน์ SymPy ได้ วัตถุ Python ปกติเช่นวัตถุจำนวนเต็มจะถูกแปลงใน SymPy จำนวนเต็ม ฯลฯ สตริงจะถูกแปลงเป็นนิพจน์ SymPy ด้วย
>>> expr="x**2+3*x+2"
>>> expr1=sympify(expr)
>>> expr1
>>> expr1.subs(x,2)
ข้อมูลโค้ดด้านบนให้ผลลัพธ์ต่อไปนี้ -
12
สามารถแปลงวัตถุ Python ในวัตถุ SymPy ได้ อย่างไรก็ตามเนื่องจากการแปลงใช้ฟังก์ชัน eval () เป็นการภายในจึงไม่ควรใช้นิพจน์ที่ไม่ได้รับการฆ่าเชื้อมิฉะนั้น SympifyError จะเพิ่มขึ้น
>>> sympify("x***2")
---------------------------------------------------------------------------
SympifyError: Sympify ของนิพจน์ 'ไม่สามารถแยกวิเคราะห์' x *** 2 '' ล้มเหลวเนื่องจากมีการเพิ่มข้อยกเว้น
ฟังก์ชัน sympify () รับอาร์กิวเมนต์ต่อไปนี้: * เข้มงวด: ค่าเริ่มต้นคือ False หากตั้งค่าเป็น True ระบบจะแปลงเฉพาะประเภทที่มีการกำหนดคอนเวอร์ชั่นอย่างชัดเจน มิฉะนั้น SympifyError จะเพิ่มขึ้น * ประเมิน: หากตั้งค่าเป็น False เลขคณิตและตัวดำเนินการจะถูกแปลงเป็นค่าเทียบเท่า SymPy โดยไม่ต้องประเมินนิพจน์
>>> sympify("10/5+4/2")
ข้อมูลโค้ดด้านบนให้ผลลัพธ์ต่อไปนี้ -
4
>>> sympify("10/5+4/2", evaluate=False)
ข้อมูลโค้ดด้านบนให้ผลลัพธ์ต่อไปนี้ -
$\frac{10}{5}+\frac{4}{2}$