Hàm built-in eval() nhận tham số string. Trình thông dịch Python xử lý chuỗi như một biểu thức Python, đánh giá nếu hợp lệ và trả về đối tượng kiểu kết quả từ biểu thức.
Chuỗi chứa biểu thức số học
>>> x = eval('2+2')
>>> type(x)
<class 'int'>
>>> x
4
Chuỗi đánh giá thành list/tuple
>>> x = eval('tuple([1,2,3])')
>>> x
(1, 2, 3)
>>> type(x)
<class 'tuple'>
Chuỗi chứa biểu thức list comprehension
>>> x = eval('list((a*2 for a in range(5)))')
>>> x
[0, 2, 4, 6, 8]
>>> type(x)
<class 'list'>
Cảnh báo: eval() nguy hiểm nếu dùng với input không tin cậy (code injection). Nên dùng ast.literal_eval() cho dữ liệu literal an toàn.