Python

Python Yield

Python Yield

Yield - это встроенное ключевое слово Python, которое возвращает значение (значения) из функции. Выполнение функции не прекращается. Скорее, он возвращает значение вызывающей стороне и поддерживает состояние выполнения функции. Выполнение функции возобновляется с последнего оператора yield. Доходность позволяет нам создавать последовательность значений, а не одно значение. Он используется внутри тела функции. Функция, содержащая оператор yield, известна как функция генератора.

У yield keyword есть несколько преимуществ. Например, он контролирует выделение памяти и сохраняет состояние локальной переменной. Однако это увеличивает сложность кода.

В этой статье объясняется использование ключевого слова yield с примерами.

Синтаксис доходности

Синтаксис yield простой и понятный. Выход начинается с ключевого слова yield и синтаксиса следующим образом:

доходность

Примеры

Теперь давайте посмотрим на примеры, чтобы понять использование и работу операторов yield. Традиционно ключевое слово return завершает выполнение программы и возвращает значение в конце, а yield возвращает последовательность значений. Он не сохраняет значение в памяти и возвращает значение вызывающей стороне во время выполнения. В приведенном ниже примере функция генератора определена для определения високосного года. Скачок - это год, когда делится на четыре и возвращает ноль в качестве остатка. Ключевое слово yield возвращает значение високосного года вызывающей стороне. Поскольку он получит значение високосного года, он приостановит выполнение программы, вернет значение, а затем возобновит выполнение с того места, где оно было остановлено.

# объявление генератора для определения високосного года
def leapfunc (my_list):
для i в my_list:
если (i% 4 == 0):
# using yield
уступить я
# объявление списка лет
year_list = [2010,2011,2012,2016,2020,2024]
print («Печать значений високосного года»)
для x в leapfunc (список_год):
печать (х)

Выход

Вывод показывает серию високосных лет.

Давайте посмотрим на другой пример, где функция генератора дает различные числа и строки.

# объявление функции генератора
def myfunc ():
уступить «Марка»
уступить "Джон"
урожай "Тейлор"
уступить "Иван"
выход 10
выход 20
выход 30
выход 40
выход 50
# вызов и повторение функции генератора
для i в myfunc ():
# печать значений
печать (я)

Выход

Давайте реализуем функцию генератора для вычисления и печати значения куба последовательности чисел. Мы генерируем значения куба от 1 до 30.

# объявление функции генератора для вычисления значения куба
def calcube ():
val = 1
# бесконечный цикл while
в то время как True:
# калькумационный куб
доходность val * val * val
# увеличение значения на 1
val = val + 1
print ("Значения куба:")
# вызов функции генератора
для i в calcube ():
если i> 30:
перерыв
печать (я)

Выход

Выходные данные показывают значение куба меньше 30.

Заключение

Yield - это встроенное ключевое слово Python, которое не прекращает выполнение программы и не генерирует серию значений. По сравнению с ключевым словом return ключевое слово yield производит несколько значений и возвращает вызывающему объекту. В этой статье объясняется Python Yield с примерами.

Контроль и управление перемещением мыши между несколькими мониторами в Windows 10
Диспетчер мыши с двумя дисплеями позволяет контролировать и настраивать движение мыши между несколькими мониторами, замедляя ее движения возле границы...
WinMouse позволяет настраивать и улучшать движение указателя мыши на ПК с Windows
Если вы хотите улучшить функции указателя мыши по умолчанию, используйте бесплатное ПО WinMouse. Он добавляет дополнительные функции, которые помогут ...
Левая кнопка мыши не работает в Windows 10
Если вы используете выделенную мышь со своим ноутбуком или настольным компьютером, но левая кнопка мыши не работает в Windows 10/8/7 по какой-то причи...