Как назвать функцию в питоне
Введение в Python
Поиск
Новое на сайте
Функции в Python
Функция это блок организованного, многократно используемоего кода, который используется для выполнения конкретного задания. Функции обеспечивают лучшую модульность приложения и значительно повышают уровень повторного использования кода.
Создание функции
Существуют некоторые правила для создания функций в Python.
Пример функции в Python:
Вызов функции
После создания функции, ее можно исполнять вызывая из другой функции или напрямую из оболочки Python. Для вызова функции следует ввести ее имя и добавить скобки.
Аргументы функции в Python
Вызывая функцию, мы можем передавать ей следующие типы аргументов:
Обязательные аргументы функции:
Если при создании функции мы указали количество передаваемых ей аргументов и их порядок, то и вызывать ее мы должны с тем же количеством аргументов, заданных в нужном порядке.
Аргументы, заданные по-умолчанию
Аргумент по умолчанию, это аргумент, значение для которого задано изначально, при создании функции.
Аргументы произвольной длины
Иногда возникает ситуация, когда вы заранее не знаете, какое количество аргументов будет необходимо принять функции. В этом случае следует использовать аргументы произвольной длины. Они задаются произвольным именем переменной, перед которой ставится звездочка (*).
Ключевое слово return
Выражение return прекращает выполнение функции и возвращает указанное после выражения значение. Выражение return без аргументов это то же самое, что и выражение return None. Соответственно, теперь становится возможным, например, присваивать результат выполнения функции какой либо переменной.
Область видимости
Некоторые переменные скрипта могут быть недоступны некоторым областям программы. Все зависит от того, где вы объявили эти переменные.
В Python две базовых области видимости переменных:
Переменные объявленные внутри тела функции имеют локальную область видимости, те что объявлены вне какой-либо функции имеют глобальную область видимости.
Это означает, что доступ к локальным переменным имеют только те функции, в которых они были объявлены, в то время как доступ к глобальным переменным можно получить по всей программе в любой функции.
Рекурсия
Рекурсией в программировании называется ситуация, в которой функция вызывает саму себя. Классическим примером рекурсии может послужить функция вычисления факториала числа.
Напомним, что факториалом числа, например, 5 является произведение всех натуральных (целых) чисел от 1 до 5. То есть, 1 * 2 * 3 * 4 * 5
Рекурсивная функция вычисления факториала на языке Python будет выглядеть так:
Рецепт создания функции в Python
Как видно, при вызове команды help() с именем нашей функции в качестве аргумента мы получаем написанную нами документацию.
Сопровождайте ваши функции качественной документацией и программисты, которые будут работать с вашим кодом после вас будут вам благодарны.
Функции в Python
Введение
Определение
Вот пример простой функции:
Для определения функции нужно всего лишь написать ключевое слово def перед ее именем, а после — поставить двоеточие. Следом идет блок инструкций.
Функция инкрементирует глобальную переменную i и возвращает None (по умолчанию).
Вызовы
Для вызова функции, которая возвращает переменную, нужно ввести:
Для вызова функции, которая ничего не возвращает:
Функцию можно записать в одну строку, если блок инструкций представляет собой простое выражение:
Функции могут быть вложенными:
Функции — это объекты, поэтому их можно присваивать переменным.
Инструкция return
Возврат простого значения
Возврат нескольких значений
Пока что функция возвращала только одно значение или не возвращала ничего (объект None). А как насчет нескольких значений? Этого можно добиться с помощью массива. Технически, это все еще один объект. Например:
Аргументы и параметры
В функции можно использовать неограниченное количество параметров, но число аргументов должно точно соответствовать параметрам. Эти параметры представляют собой позиционные аргументы. Также Python предоставляет возможность определять значения по умолчанию, которые можно задавать с помощью аргументов-ключевых слов.
Параметр — это имя в списке параметров в первой строке определения функции. Он получает свое значение при вызове. Аргумент — это реальное значение или ссылка на него, переданное функции при вызове. В этой функции:
x и y — это параметры, а в этой:
При определении функции параметры со значениями по умолчанию нужно указывать до позиционных аргументов:
Если использовать необязательный параметр, тогда все, что указаны справа, должны быть параметрами по умолчанию.
Выходит, что в следующем примере допущена ошибка:
Для вызовов это работает похожим образом. Сначала нужно указывать все позиционные аргументы, а только потом необязательные:
На самом деле, следующий вызов корректен (можно конкретно указывать имя позиционного аргумента), но этот способ не пользуется популярностью:
А этот вызов некорректен:
При вызове функции с аргументами по умолчанию можно указать один или несколько, и порядок не будет иметь значения:
Можно не указывать ключевые слова, но тогда порядок имеет значение. Он должен соответствовать порядку параметров в определении:
Если ключевые слова не используются, тогда нужно указывать все аргументы:
Второй аргумент можно пропустить:
Чтобы обойти эту проблему, можно использовать словарь:
Значение по умолчанию оценивается и сохраняется только один раз при определении функции (не при вызове). Следовательно, если значение по умолчанию — это изменяемый объект, например, список или словарь, он будет меняться каждый раз при вызове функции. Чтобы избежать такого поведения, инициализацию нужно проводить внутри функции или использовать неизменяемый объект:
Еще один пример изменяемого объекта, значение которого поменялось при вызове:
Дабы не допустить изменения оригинальной последовательности, нужно передать копию изменяемого объекта:
Указание произвольного количества аргументов
Позиционные аргументы
При вызове функции нужно вводить команду следующим образом:
Python обрабатывает позиционные аргументы следующим образом: подставляет обычные позиционные аргументы слева направо, а затем помещает остальные позиционные аргументы в кортеж (*args), который можно использовать в функции.
Если лишние аргументы не указаны, значением по умолчанию будет пустой кортеж.
Произвольное количество аргументов-ключевых слов
Как и в случае с позиционными аргументами можно определять произвольное количество аргументов-ключевых слов следующим образом (в сочетании с произвольным числом необязательных аргументов из прошлого раздела):
При вызове функции нужно писать так:
Python обрабатывает аргументы-ключевые слова следующим образом: подставляет обычные позиционные аргументы слева направо, а затем помещает другие позиционные аргументы в кортеж (*args), который можно использовать в функции (см. предыдущий раздел). В конце концов, он добавляет все лишние аргументы в словарь (**kwargs), который сможет использовать функция.
Важно, что пользователь также может использовать словарь, но перед ним нужно ставить две звездочки (**):
Порядок вывода также не определен, потому что словарь не отсортирован.
Документирование функции
Команда docstring должна быть первой инструкцией после объявления функции. Ее потом можно будет извлекать или дополнять:
Методы, функции и атрибуты, связанные с объектами функции
Если поискать доступные для функции атрибуты, то в списке окажутся следующие методы (в Python все является объектом — даже функция):
И несколько скрытых методов, функций и атрибутов. Например, можно получить имя функции или модуля, в котором она определена:
Есть и другие. Вот те, которые не обсуждались:
Рекурсивные функции
Другой распространенный пример — определение последовательности Фибоначчи:
Важно, чтобы в ней было была конечная инструкция, иначе она никогда не закончится. Реализация вычисления факториала выше, например, не является надежной. Если указать отрицательное значение, функция будет вызывать себя бесконечно. Нужно написать так:
Важно!
Рекурсия позволяет писать простые и элегантные функции, но это не гарантирует эффективность и высокую скорость исполнения.
Глобальная переменная
Вот уже знакомый пример с глобальной переменной:
За редкими исключениями глобальные переменные лучше вообще не использовать.
Присвоение функции переменной
С существующей функцией func синтаксис максимально простой:
Переменным также можно присваивать встроенные функции. Таким образом позже есть возможность вызывать функцию другим именем. Такой подход называется непрямым вызовом функции.
Менять название переменной также разрешается:
В этом примере a1, a2 и func имеют один и тот же id. Они ссылаются на один объект.
Последний пример. Предположим, встроенная функция была переназначена:
Теперь к ней нельзя получить доступ, а это может стать проблемой. Чтобы вернуть ее обратно, нужно просто удалить переменную:
Анонимная функция: лямбда
С помощью type() можно проверить тип:
На практике эти функции редко используются. Это всего лишь элегантный способ записи, когда она содержит одну инструкцию.
Изменяемые аргументы по умолчанию
Вместо этого нужно использовать значение «не указано» и заменить на изменяемый объект по умолчанию:
Функция в Python: руководство для начинающих
Мир IT меняется очень быстро, и успевать за ним нелегко. Но если вы хорошо разбираетесь в какой-нибудь технологии, это дает вам определенные преимущества.
Python – широко используемый язык, открывающий множество возможностей. Научиться правильно использовать функции – важный навык для любого Python-разработчика. Поэтому мы и решили написать это руководство по функциям Python для начинающих.
Цель этой статьи – дать вам знания, необходимые для начала работы с функциями в Python.
Итак, давайте начнем!
Зачем нужны функции Python?
Функции управляют входными и выходными данными в компьютерных программах. Языки программирования предназначены прежде всего для работы с данными. А функции — эффективный способ управления этими данными и их преобразованиями.
Модификации данных обычно нужны для получения каких-то результатов, вроде выполнения действий или поиска. Набор операций и инструкций, которые нужны для этого, выполняется из основного кода программы.
Фактически, основной (main) код — это тоже функция, просто очень важная. Все другие функции логически выстраиваются, чтобы выполняться из основного кода.
Но если функция не была объявлена ранее, вам придется сперва ее объявить. Дело в том, что в объявлении перечисляются шаги, которые выполняет функция.
Итак, функции – это не что иное, как задачи, которые хочет выполнять пользователь. И если вы пропишете нужную функциональность один раз и дадите ей имя, вы сможете использовать ее повторно, не превращая свою программу в огромного монстра. Это значительно сокращает количество строк кода и даже упрощает отладку.
Мы скоро поговорим об этом, но первая причина, по которой стоит использовать функцию, – это возможность ее повторного использования.
Функции как средство повторного использования кода
Даже сложные операции вполне могут быть набором нескольких не слишком сложных. А для осуществления каждой небольшой операции можно создать отдельную функцию и вызывать ее по имени. Такой подход сделал современные программы куда более понятными.
Все языки программирования позволяют создавать и использовать функции для решения различных задач. И самое главное — вызывать каждую функцию можно сколько угодно раз.
При этом вам не приходится каждый раз беспокоиться, как код функции встроится в основной код программы. Важно лишь осознавать, что функция выполняется так, как прописано в инструкциях внутри нее.
У машин могут быть разные функции. Калькулятор, вероятно, самый распространенный пример. В нем предусмотрены функции сложения, вычитания, умножения, деления и пр. Все его функции явно предопределены, но он выполняет только те, которые вы выбираете для вызова, нажимая соответствующую кнопку.
Благодаря использованию функций программисты сокращают время на написание кода и отладку, тем самым ускоряя разработку ПО.
Марк Лутц «Изучаем Python»
Скачивайте книгу у нас в телеграм
Что собой представляет функция в Python?
Функция в Python – классический пример многократного использования кода.
Чтобы обслуживать широкий спектр приложений, от GUI и математических вычислений до веб-разработки и тестирования, интерпретатор Python оснащен многочисленными функциями, готовыми к использованию.
Вы также можете добавлять в свою программу библиотеки или модули, содержащие дополнительные функции. Все, что вам нужно для этого сделать — загрузить необходимые пакеты, в соответствии с их документацией. После этого вы сможете свободно использовать все полезные функции, просто импортировав их в свой код.
Итак, однажды определенная функция может использоваться любое количество раз в любой точке любого вашего кода.
Дело в том, что Python придерживается принципа DRY. Аббревиатура расшифровывается как Don’t Repeat Yourself («Не повторяйся»).
Это один из принципов разработки ПО. Он направлен на замену дубликатов кода абстракциями. Это позволяет избежать избыточности и гарантировать, что абстрагированный код сможет свободно использоваться, не раскрывая внутренних деталей реализации.
Таким образом, все, что вам понадобится для использования функции, это знать ее имя, назначение, аргументы (если она их принимает) и тип ее результата (если она его возвращает).
Определение функции
Функция – это подпрограмма, которая работает с данными и производит некоторый вывод.
Чтобы определить функцию Python, вам нужно будет использовать ключевое слово def перед именем вашей функции. Сразу за именем добавляются круглые скобки, за которыми следует двоеточие.
Python для обозначения блоков использует отступы вместо скобок, чтобы код был более читабельным.
После выполнения оператора return поток программы возвращается в состояние, следующее за вызовом вашей функции, и продолжает выполнение оттуда.
Итак, функция в Python может вызываться в любом месте кода. Для вызова вам нужно будет использовать ее имя и при необходимости передать в нее аргументы в круглых скобках.
Кроме того, хорошая практика — называть функцию Python в соответствии с тем, что она делает. Используйте docstring прямо под первой строкой объявления функции. Эта строка документации, объясняющая, что делает функция.
Типы функций в Python
В Python есть много видов функций. И каждый из них по-своему очень важен:
Давайте подробно рассмотрим эти функции, начиная со встроенных, поскольку их очень легко понять и реализовать.
Встроенные функции Python
Интерпретатор Python имеет ряд функций, которые всегда доступны для использования. Эти функции называются встроенными.
Например, функция print() выводит указанный объект на стандартное устройство вывода (экран) или в файл текстового потока.
В Python 3.6 есть 68 встроенных функций. Давайте рассмотрим несколько наиболее часто используемых.
Функция all()
Синтаксис метода all() :
Функция abs()
Метод abs() возвращает абсолютное значение заданного числа. Если число является комплексным, abs() возвращает его величину.
Синтаксис метода abs() :
Функция enumerate()
Метод enumerate() добавляет счетчик к итерируемому объекту и возвращает индексы элементов с их значениями.
Метод enumerate() принимает два параметра:
Также существует множество других встроенных функций, например:
Рекурсивные функции в Python
Рекурсия – это определение чего-либо в терминах самого себя.
Примером в физическом мире может быть размещение двух параллельных зеркал, обращенных друг к другу. Любой объект между ними будет отражаться рекурсивно.
Мы знаем, что функция в Python может вызывать другие функции. Но функция может вызывать и сама себя. Конструкции такого типа и называются рекурсивными функциями.
Ниже приведен пример рекурсивной функции для поиска факториала целого числа.
Факториал числа – это произведение всех целых чисел от 1 до этого числа. Например, факториал 5 (обозначается как 5!) это 1 * 2 * 3 * 4 * 5 = 120.
В приведенном выше примере calc_factorial() является рекурсивной функцией, потому что она вызывает саму себя.
Когда мы вызываем эту функцию с положительным целым числом, она рекурсивно вызывает себя, уменьшая исходное число.
Наша рекурсия заканчивается, когда число уменьшается до 1. Это называется базовым случаем. Каждая рекурсивная функция должна иметь базовый случай, останавливающий рекурсию, потому что иначе функция будет вызывать себя бесконечно.
От редакции Pythonist. Больше примеров использования рекурсии можно найти в статье «Примеры программ с использованием рекурсии на языке Python».
Лямбда-функции в Python
В Python можно определить функцию, не давая ей имени. Такая функция называется анонимной.
Лямбда-функция в Python имеет следующий синтаксис:
Лямбда-функции могут иметь любое количество аргументов, но только одно выражение.
В приведенной выше программе lambda x: x * 2 – это лямбда-функция. Здесь x – аргумент, а x * 2 — выражение, которое вычисляется и возвращается.
Пользовательские функции Python
Функции, которые поставляются с Python, называются встроенными функциями. Если мы используем функции, написанные другими людьми и выложенные в форме библиотеки, это можно назвать библиотечными функциями.
Все остальные функции, которые мы пишем самостоятельно, относятся к пользовательским функциям. При этом наша пользовательская функция может быть библиотечной функцией для кого-то еще.
Преимущества пользовательских функций
Прежде всего, пользовательские функции помогают разбить большую программу на небольшие сегменты. Это упрощает понимание, поддержку и отладку кода.
Если в программе встречается повторяющийся код, его можно выделить в функцию и выполнять при необходимости путем вызова этой функции.
Кроме того, программисты, работающие над большим проектом, могут разделить рабочую нагрузку, занимаясь разными функциями.
Пример пользовательской функции
И в заключение давайте посмотрим, как с помощью функций Python создать простое приложение.
Создаем калькулятор на Python
В этом примере мы создадим простой калькулятор, умеющий складывать, вычитать, умножать или делить числа, введенные пользователем.
В результате получим следующее:
Заключение
Надеемся, вам понравилось это руководство по функциям. Теперь вы знаете, что из себя представляет функция в Python, какие функции бывают, как их писать и как ими пользоваться. Создание собственных функций поможет вам удобно добавлять нужный функционал в свои программы.
Функции в Python
В предыдущих разделах мы уже часто сталкивались с встроенными функция ( int, float, print, type, len ) Каждая функция в Python предназначена для выполнения одной конкретной задачи. Использование функции упрощает написание и чтение кода.
Содержание страницы: |
---|
1. Функция в Python |
2. Передача аргументов функции |
2.1 Позиционные аргументы |
2.2. Именованные аргументы |
2.3. Значения по умолчанию |
2.4. Передача произвольного набора аргументов |
2.5. Позиционные аргументы с произвольным набором аргументов |
2.6. Произвольный набор именнованных аргументов |
3. Возвращаемое значение в функции |
3.1. Возвращение простого значения |
3.2. Возвращение словаря |
4. Использования функции в цикле while |
5. Передача списка функции на Python |
6. Использование лямбда-выражений вместо функций |
1. Функция в Python
Если какая то задача выполняется многократно в программе, то не обязательно эту задачу расписывать во всех разделах программы, достаточно поместить код в функцию и в последующем вызывать эту функцию по мере необходимости.
Напишем функцию, которая вычисляет квадрат своего аргумента и выводит на экран:
>>> def square ( number ):
. «»»Вычисление квадрата числа»»»
. print(number ** 2)
.
>>> square (5)
25
>>> square (124.45)
15487.802500000002
Команда squre(5) вызывает функции square() и передает ей значение аргумента, для выполнения команды print. Функция возводит число в квадрат и выводит на экран.
2. Передача аргументов функции в Python
2.1. Позиционные аргументы
Функция может иметь несколько параметров и при её вызове должно передаваться сразу несколько аргументов. Напишем функцию, которая выводит название автомобиля, модель и его пробег:
>>> def car (car_brend, car_model, mileage):
. «»»Выводит информацию о автомобиле»»»
. print(f»Продается
.
>>> car (‘bmw’, ‘x5’, 51345)
Продается Bmw X5 с пробегом 51345 км.
2.2. Именованные аргументы
Если порядок передачи аргументов по каким то причинам не известен, то можно использовать именованные аргументы. Именованный аргумент представляет собой пару «имя-значение«. Имя и значения связываются с аргументом напрямую, так что при передаче аргумента путаница исключается. Вызовем туже самую функцию car() с помощью именованных аргументов:
>>> def car (car_brend, car_model, mileage):
. «»»Выводит информацию о автомобиле»»»
. print(f»Продается
.
>>> car (mileage = 45152, car_model = ‘x5′, car_brend=’bmw’)
Продается Bmw X5 с пробегом 45152 км.
При обработке вызова функции Python знает к какому аргументу принадлежат данные и проблем с выводом не случается.
2.3. Значения по умолчанию
Для каждого параметра функции можно определить значение по умолчанию. Если при вызове функции не был передан аргумент, то используется значение по умолчанию. Все значение по умолчанию всегда должны следовать после параметров, у которых значений по умолчанию нет. Приведем пример той же функции, но тип автомобиля будем использовать по умолчанию
>>> def car (car_model, mileage, car_brend=’bmv’):
. «»»Выводит информацию о автомобиле»»»
. print(f»Продается
.
>>> car (‘x7’, 12345)
Продается Bmv X7 с пробегом 12345 км.
Для изменения значения по умолчанию, мы можем передать именованный аргумент для изменения значения car_brend=’audi’:
>>> car (‘q7’, 35600, car_brend=’audi’)
Продается Audi Q7 с пробегом 35600 км.
Так как аргумент для параметра car_brend задан явно, Python игнорирует значение по умолчанию.
2.4. Передача произвольного набора аргументов
Иногда заранее не известно сколько аргументов должно быть передано функции, Python позволяет получить произвольное количество аргументов из вызывающей команды. Рассмотрим функцию, которая просто передает любое количество аргументов, к примеру название автомобилей:
>>> def cars ( * args ):
. «»»Вывод автомобилей»»»
. print( args )
.
>>> cars (‘audi’, ‘bmv’, ‘ford’, ‘kia’)
(‘audi’, ‘bmv’, ‘ford’, ‘kia’)
>>> cars (‘porshe’)
(‘porshe’)
Звездочка в имени параметра args приказывает создать Python пустой кортеж с именем args и упаковать в него все полученные результаты и с помощью команды print вывести на экран. В примере видно, что функция работает и при передаче четырех и при передаче одного аргумента.
Для более удобной работы с данными, например изменения регистра символов можно воспользоваться циклом for:
>>> def cars ( * args):
. «»»Вывод автомобилей в продаже»»»
. print(‘Автомобили в продаже:’)
. for arg in args:
. print(f»-
.
>>> cars (‘audi’, ‘bmv’, ‘ford’, ‘kia’)
Автомобили в продаже:
-Audi
-Bmv
-Ford
-Kia
2.5. Позиционные аргументы с произвольным набором аргументов
В случае, когда в функции есть позиционные аргументы и произвольные, параметр получения произвольного количества аргументов должен стоять на последнем месте. Python сначала подберет соответствия для позиционных и именных аргументов, а потом объединит все остальные аргументы в последний параметр colors:
>>> def car (car_brend, car_model, * colors):
. «»»Выводит информацию о автомобиле»»»
. print(f»Автомобиль
. for color in colors:
. print(f»-
.
>>> car (‘bmw’, ‘x7’, ‘синий’, ‘зеленый’, ‘белый’, ‘черный’, ‘желтый’)
Автомобиль Bmw X7 можно заказать в цветах:
-синий
-зеленый
-белый
-черный
-желтый
В результате данная функция получает два позиционных аргумента car_brend и car_model, а остальные сохраняются в кортеже colors.
В большинстве программ часто используется имя обобщенного параметра *args для хранения произвольного набора позиционных аргументов.
2.6. Произвольный набор именованных аргументов
Иногда может потребоваться, чтобы функция получала произвольное количество именованных аргументов. В таком случае можно написать функцию, которая получает столько пар «ключ-значение», сколько указано в команде вызова. Например, для построение пользовательских профилей, заранее не известно, какую точно информацию предоставит пользователь. Поэтому определим в функции обязательное предоставление имени и фамилии, а остальная информация может быть получена с помощью произвольного количества именованных аргументов:
>>> def profile (first, last, **user_info):
. «»»Возвращает словарь с данными о пользователе»»»
. user_info[‘first_name’] = first
. user_info[‘last_name’] = last
. return user_info
.
>>> profile_1 = profile (‘tomas’, ‘edisson’, location=’usa’)
>>> print(profile_1)
В программах часто используется имя обобщенного параметра **kwargs для хранения произвольного набора ключевых аргументов.
3. Возвращаемое значение в функции на Python
3.1. Возвращение простого значения
Напишем функцию, которая возвращает отформатированное имя и фамилию
>>> def form_name (last_name, first_name, middle_name):
. «»»Возвращает отформатированное полное имя»»»
. full_name = f»
. return full_name.title()
.
>>> poet = form_name (‘пушкин’, ‘александр’, ‘сергеевич’)
>>> print(poet)
Пушкин Александр Сергеевич
>>> def form_name (last_name, first_name, middle_name=»):
. «»»Возвращает отформатированное полное имя»»»
. full_name = f»
. return full_name.title()
.
>>> poet = form_name (‘пушкин’, ‘александр’)
>>> print(poet)
Пушкин Александр
>>> poet = form_name(‘пушкин’, ‘александр’, ‘сергеевич’)
>>> print(poet)
Пушкин Александр Сергеевич
С необязательным аргументом мы не получим ошибку (TypeError: form_name() missing 1 required positional argument: ‘middle_name’) в случае отсутствия на входе данных по аргументу.
3.2. Возвращение словаря
Функция может возвращать и более сложную структуру данных, например словарь или список. Напишем функцию, которая будет возвращать словарь, представляющий человека:
>>> def info_person (first_name, last_name):
. «»»Возвращает словарь с данными о человеке»»»
. person = <'first': first_name, 'last': last_name>
. return person
.
>>> musician = info_person (‘Freddie’, ‘Mercury’)
>>> print(musician)
При вызове функции info_person получает имя и фамилию на входе и помещает их сразу в словарь, с ключами имя и фамилия. Затем с помощью команды return возвращает словарь. В будущем со словарем будет удобнее работать, мы сможем отдельно использовать имя, фамилию или другие аргументы функции.
4. Использования функции в цикле while
Функции могут вызываться в циклах while где угодно. Приведем пример цикла while, где у посетителя запрашивают имя и фамилию, а с помощью функции form_name возвращается отформатированное имя и фамилия с приветствием:
def form_name (first_name, last_name):
«»»Возвращает отформатированное полное имя»»»
full_name = f»
return full_name.title()
while True:
print(«\nВведите ‘x’ если хотите завершить программу»)
first_name = input(«Введите ваше имя: «)
if first_name == ‘x’:
break
last_name = input(«Введите вашу фамилию: «)
if last_name == ‘x’:
break
formatted_name = form_name (first_name, last_name)
print(f»\nДобрый день
В данном примере в цикле whle запрашивается имя и фамилия и с помощью функции form_name возвращается отформатированное полное имя и записывается в переменную formatted_name. А затем уже с помощью функции print данные выводятся на экран.
5. Передача списка функции на Python
При передаче аргумента функции мы можем сразу передать список. В результате функция получает доступ сразу ко всему его содержимому. Воспользуемся функцией square которую писали в первом разделе, которая выводит квадрат своего аргумента и немного обновим ее. Но в качестве аргумента мы передадим сразу список чисел, которые нужно обработать и возвести в квадрат.
В результате функции square мы передаем список numbers. Для возведения всех чисел в квадрат, вначале нам нужно перебрать данный список с помощью цикла for, а затем каждое число возвести в квадрат.
6. Использование лямбда-выражений вместо функций
Для простых функций, например square, который просто вычисляют квадрат числа, можно использовать лямбда-выражения.
>>> square = lambda x : x ** 2
>>> print(square(5))
25
Лямбда-выражение может иметь и несколько параметров. Например, перемножать передаваемые числа.
>>> mult = lambda x, y, z : x * y * z
>>> print(mult(2, 4, 6))
48
Таким образом любая простая функция в форме
может быть выражена в более компактной форме посредством лямбда-выражения