Шаг 32.
Python: тонкости программирования. Эффективные функции. Функции Python - это объекты первого класса (общие сведения)

    На этом шаге мы наметим план дальнейшего изложения.

    Функции Python относятся к объектам первого класса. Их можно присваивать переменным, хранить их в структурах данных, передавать их в качестве аргументов другим функциям и даже возвращать их в качестве значений из других функций.

    Глубокое осмысление этих понятий на интуитивном уровне намного упростит понимание расширенных функциональных средств языка Python, в частности лямбда-функций и декораторов. Это также направит вас по верному пути к методам функционального программирования.

    В следующих нескольких шагах мы проведем вас через несколько примеров, чтобы помочь вам развить это интуитивное понимание. Примеры будут строиться друг поверх друга, поэтому, возможно, вам стоит читать их по порядку и даже попробовать некоторые из них в сеансе интерпретатора Python по мере продвижения.

    Чтобы осмыслить понятия, которые мы будем здесь рассматривать, потребуется немного больше времени, чем вы ожидаете. Не волнуйтесь - это абсолютно нормально. Вполне возможно, что вы будете ощущать, как бьетесь головой о стену, а затем в один прекрасный момент, когда вы будете готовы, вас внезапно осенит, и все встанет на свои места.

    На протяжении всего этого изложения мы будем в демонстрационных целях использовать приведенную ниже функцию yell(). Это простой игрушечный пример с легко распознаваемым результатом:

>>> def yell(text):
	return text.upper() + '!'

>>> yell('привет')
'ПРИВЕТ!'

    На следующем шаге мы поговорим о связи функций и объектов.




Предыдущий шаг Содержание Следующий шаг