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}$