Давайте разберемся со встроенной функцией 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, показанную ниже:



Спасибо, ребята, это конец статьи, как я уже сказал, это небольшая статья. Если у вас, ребята, есть какие-то сомнения или вы что-то застряли, дайте мне знать в разделах комментариев ниже, я обязательно отвечу на все ваши вопросы. Хорошо, время попрощаться, удачного дня.