Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

เราจะประเมินสตริงและส่งคืนวัตถุใน Python ได้อย่างไร


ฟังก์ชัน eval() ในตัวต้องการอาร์กิวเมนต์สตริง อย่างไรก็ตาม ล่าม Python จะถือว่าสตริงนั้นเป็นนิพจน์ Python และประเมินว่าถูกต้องหรือไม่ จากนั้นส่งคืนวัตถุประเภทที่เกิดจากนิพจน์

สตริงที่มีนิพจน์ทางคณิตศาสตร์

>>> x=eval('2+2')
>>> type(x)
<class 'int'>
>>> x
4

สตริงที่ประเมินเป็น list/tuple

>>> x=eval('tuple([1,2,3])')
>>> x
(1, 2, 3)
>>> type(x)
<class 'tuple'>

สตริงที่มีนิพจน์ความเข้าใจของรายการ

>>> x = eval('list((a*2 for a in range(5)))')
>>> x
[0, 2, 4, 6, 8]
>>> type(x)
<class 'list'>