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

Аватар пользователя Elena Gromova
Elena Gromova
18 июня 2024

Метод eval в Python выполняет строку, переданную ему в качестве аргумента, как выражение на языке Python и возвращает результат выполнения.

x = 1
y = 2
result = eval("x + y")
print(result)
# Вывод: 3

Внимание: Использование eval может быть опасным, так как позволяет выполнять произвольный код, что может привести к уязвимостям в безопасности.

0 0

Функция 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

Есть что добавить? Зарегистрируйтесь

или войдите в аккаунт

Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и условия «Оферты», а также соглашаетесь с «Условиями использования»

Курсы по программированию в Хекслете

Программирование

Веб-разработка

Разработка, верстка и деплой сайтов и веб-приложений, трудоустройство для разработчиков

Frontend-разработка

Разработка внешнего интерфейса сайтов и веб-приложений и верстка

Создание сайтов

Разработка сайтов и веб-приложений на JS, Python, Java, PHP и Ruby on Rails

Backend-разработка

Разработка серверной части сайтов и веб-приложений

Тестирование

Ручное тестирование и автоматизированное тестирование на JS, Python, Java и PHP

Аналитика данных

Сбор, анализ и интерпретация данных на Python

Интенсивные курсы

Интенсивное обучение для продолжающих

DevOps

Автоматизация настройки локального окружения и серверов, развертывания и деплоя

Математика для программистов

Обучение разделам математики, которые будут полезны при изучении программирования

Тест-драйв

JavaScript

Разработка сайтов и веб-приложений и автоматизированное тестирование на JS

Python

Веб-разработка, автоматическое тестирование и аналитика данных на Python

Java

Веб-разработка и автоматическое тестирование на Java

PHP

Веб-разработка и автоматическое тестирование на PHP

Ruby

Разработка сайтов и веб-приложений на Ruby on Rails

Go

Курсы по веб-разработке на языке Go

HTML

Современная верстка с помощью HTML и CSS

SQL

Проектирование базы данных, выполнение SQL-запросов и изучение реляционных СУБД

Git

Система управления версиями Git, регулярные выражения и основы командой строки

Бесплатные курсы

Бесплатные курсы по тестированию, дата-аналитике, верстке, программированию на Python, Java, PHP и JavaScript.

Похожие вопросы