ฟังก์ชัน 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'>