Что делает метод eval python?

Ответы
Аватар пользователя Владимир Устянивский

Функция eval() анализирует переданную ей строку и если строка окажется кодом, то он будет выполнен:


x = 'print(55)'

eval(x) # => 55

x = '4 + 7'

print(eval(x)) # => 11

x = '2 > 11'

print(eval(x)) # => False

Но стоит с большой осторожностью пользоваться этой функцией и уж точно ни в коем случае нельзя передавать ей данные, которые может ввести пользователь. Функция eval() выполнит любой код, который сможет распознать и если, допустим, ей передать строку rm -rf /, то корневая директория (если говорим о Linux) будет удалена без всяких вопросов и предостережений. Поэтому следует помнить о том, что пользоваться этой функцией надо с осторожностью и не предоставлять ей данные, вводимые пользователем.

0 0
Добавьте ваш ответ

Рекомендуемые курсы

ORM
Python Django
11 часов
Посмотреть
роутинг
миграции
шаблонизация
ORM
21 час
Посмотреть
утверждения
pytest
юнит-тесты
покрытие кода
13 часов
Посмотреть