Давайте разберемся со встроенной функцией eval () в Python.
Это была бы небольшая статья о функции eval в python, в которой я бы объяснил вам функцию eval, ее синтаксис и несколько вопросов, которые часто задают в интервью, чтобы вы четко ее поняли и легко ответили на эти вопросы. Чтобы получить полный код, нажмите на мой репозиторий GitHub внизу:
Давайте начнем:
1. Что такое eval () в Python и каков его синтаксис?
Ответ: eval - это встроенная функция, используемая в python, функция eval анализирует аргумент выражения и оценивает его как выражение python. Проще говоря, функция eval оценивает «строку» как выражение Python, и возвращает результат в виде целого числа.
Синтаксис
Синтаксис функции eval показан ниже:
eval(expression, [globals[, locals]])
Аргументы или параметры
Аргументы или параметры функции eval являются строками, также необязательно глобальными, и локальные переменные могут использоваться в качестве аргумента внутри функции eval, но глобальные переменные должны быть представлены как словарь, а локальные переменные - как сопоставленный объект.
Возвращаемое значение
Возвращаемое значение будет результатом вычисленного выражения. Часто возвращаемый тип может быть целым числом.
2. Где чаще всего используется функция eval?
Функция Eval в основном используется в ситуациях или приложениях, которые должны оценивать математические выражения. Также, если пользователь хочет преобразовать строку в код, он может использовать функцию eval, потому что функция eval оценивает строковое выражение и возвращает целое число в качестве результата.
3. В чем разница между input () и eval ()?
Теперь вы все знаете, что input () принимает пользовательский ввод, но когда пользователь вводит целое число в качестве ввода, функция ввода возвращает строку, но в случае eval она оценивает возвращаемое значение из строки в целое число. Я знаю, что большинство из вас сбиты с толку, позвольте мне прояснить ваше замешательство, приведя пример:
input = input("Enter any number of your choice:") print(input) print(type(input)) -------------------------------------------------------------------- Enter any number of your choice: 10 + 10 10 + 10 <class 'str'>
Смотрите, как я сказал, я ввел целое число 10+ 10, где я ожидал результата 20 (10 + 10), но метод ввода вернул строку того же введенного ввода .
eval = eval(input("Enter any number of your choice")) print(eval) print(type(eval)) -------------------------------------------------------------------- Enter any number of your choice: 10 + 10 20 <class 'int'>
В случае eval он вернул вычисленное выражение 20 в виде целого числа, заданного строкой в качестве входных. 10 + 10 - это выражение, возвращающее в результате 20.
4. Можем ли мы выполнять математические операции с помощью функции eval, приведите пример?
Да, мы можем выполнять математические операции с помощью функции eval, как показано ниже:
evaluate = input(“Enter what operation x has to perform: “) print(evaluate) print(type(evaluate)) -------------------------------------------------------------------- Enter what operation x has to perform: x + x + 100 - 35 + 5 * 80 x + x + 100 - 35 + 5 * 80 <class 'str'> x = 10 print(type(x)) --------------------------------------------------------------------<class 'int'> expression = eval(evaluate) print(expression) print(type(expression)) -------------------------------------------------------------------- 485 <class 'int'>
Смотрите, как я сказал, если вы вводите ввод в виде строки, а функция eval оценивает выражение и возвращает результат в виде целого числа.
Это все, что вам нужно знать, чтобы начать работу с функцией eval в Python, теперь вы знаете все ответы на приведенные выше вопросы. Одни и те же вопросы могут задаваться не все время, главное - лучше узнать концепции, после чего вы сможете ответить на любые вопросы. Если вы хотите потратить некоторое время на чтение материала, касающегося функции eval, я рекомендую вам, ребята, прочитать документацию функции eval, показанную ниже:
Спасибо, ребята, это конец статьи, как я уже сказал, это небольшая статья. Если у вас, ребята, есть какие-то сомнения или вы что-то застряли, дайте мне знать в разделах комментариев ниже, я обязательно отвечу на все ваши вопросы. Хорошо, время попрощаться, удачного дня.