Существуют ли издержки, когда вложение функционирует в Python?

В Python, если у меня есть дочерняя функция в родительской функции, "инициализируется" дочерняя функция (создал) каждый раз, когда родительская функция вызвана? Там какие-либо издержки связаны с вложением функция в другом?

57
задан 20 October 2011 в 21:14

1 ответ

Да. Это включает закрытия, а также функциональные фабрики.

закрытие А заставляет внутреннюю функцию помнить состояние своей среды при вызове.

def generate_power(number):

    # Define the inner function ...
    def nth_power(power):
        return number ** power

    return nth_power

Пример

>>> raise_two = generate_power(2)
>>> raise_three = generate_power(3)

>>> print(raise_two(3))
8
>>> print(raise_three(5))
243
"""
0
ответ дан 1 November 2019 в 16:37

Другие вопросы по тегам:

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