Computer >> Máy Tính >  >> Lập trình >> Python

Làm cách nào để đánh giá một chuỗi và trả về một đối tượng trong Python?


Hàm eval () tích hợp yêu cầu đối số chuỗi. Tuy nhiên, trình thông dịch Python xử lý chuỗi như một biểu thức Python và đánh giá xem nó có hợp lệ hay không, sau đó trả về đối tượng kiểu là kết quả của 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 danh sách / tuple

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

Chuỗi chứa biểu thức hiểu danh sách

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