Небо, усеянное звёздами, всегда уподоблю груди заслуженного генерала (К. Прутков).

Python 3 – Функции

FavoriteLoadingДобавить в избранное
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
Python 3 - Функции
Функция представляет собой блок, организованный повторно используемый код, который используется для выполнения одного, связанного действия. Функции обеспечивают лучшую модульность для применения и высокую степень кода повторного использования.

Как вы уже знаете, Python предоставляет множество встроенных функций, таких как print() и т.д., но вы также можете создавать свои собственные функции. Эти функции называются определяемые пользователем функции.

Определение функции

Вы можете определить функции, чтобы обеспечить требуемую функциональность. Вот простые правила, чтобы определить функцию в Python.

  • Функциональные блоки начинаются с ключевым словом def следует имя функции и скобки (()).
  • Любые входные параметры или аргументы должны быть размещены в этих скобках. Вы также можете определить параметры внутри этих скобок.
  • Первый оператор функции может быть необязательным заявление – строкой документации функции или строкой документации.
  • Блочный код в пределах каждой функции начинается с двоеточием (smile и с отступом.
  • Утверждение return [выражение] делает выход из функции, необязательно передавая обратно выражение для вызывающего. Ответное заявление без аргументов такого же, как возвратное none.

Синтаксис

 

По умолчанию параметры имеют позиционное поведение, и вы должны информировать их в том же порядке, в чем они были определены.

Пример

Следующая функция принимает строку в качестве входного параметра и выводит его на стандартный экран.

 

Вызов функции

Определение функции дает ему имя, определяет параметры, которые должны быть включены в функции и структуры блоков кода.

После того, как основная структура функции завершена, вы можете выполнить его, вызвав его из другой функции или непосредственно из командной строки Python. Ниже приведен пример для вызова функции PrintMe():

 

Когда этот код выполниться, он выведет следующий результат:

Передавать по ссылке против значения

Все параметры (аргументы) в языке Python передаются по ссылке. Это означает, что если вы измените то, к чему относится параметр в пределах функции, изменение также отражается в вызывающей функции. Например:

 

Здесь мы поддерживаем обращение переданного объекта и добавление значения в одном объекте. Таким образом, это будет производить следующий результат –

 

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

 

Параметр MyList является локальным по отношению к функции ChangeMe. Изменение MyList внутри функции не влияет на MyList. Функция ничего не выполняет, и, наконец, это произведет следующий результат:

Аргументы функции

Вы можете вызвать функцию с помощью следующих типов формальных аргументов:

  • Необходимые аргументы
  • Ключевые аргументы
  • Аргументы по умолчанию
  • Аргументы переменной длины

Обязательные аргументы

Обязательными аргументами являются аргументы, передаваемые функции в правильном позиционном порядке. Здесь количество аргументов в вызове функции должны совпадать с определением функции.

Для вызова функции PrintMe(), вам обязательно нужно передать один аргумент, в противном случае она выдаст синтаксическую ошибку следующим образом:

 

Когда этот код выполниться, он выведет следующий результат:

Ключевые аргументы

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

Это позволяет пропускать Аргументы и на их месте из того, что интерпретатор Python – это возможность использовать ключевые слова, предоставленные в соответствие со значениями параметров. Вы также можете вызывать ключевое слово функции printme() следующими способами:

 

Когда этот код выполниться, он выведет следующий результат:

 

Следующий пример дает более четкую картину. Обратите внимание, что порядок параметров не имеет значения.

 

Когда этот код выполниться, он выведет следующий результат:

Аргументы по умолчанию

Аргументы по умолчанию является аргументами, которые принимают значение по умолчанию, если значение не предусмотрено в вызове функции для этого аргумента. Следующий пример дает представление о аргументах по умолчанию, он печатает по умолчанию возраст, если он не прошел:

 

Когда этот код выполниться, он выведет следующий результат:

Аргументы переменной длины

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

Синтаксис для функции с не-ключевыми словами переменными аргументами приводятся ниже:

 

Звездочкой (*) ставится перед именем переменной, которая содержит значения всех nonkeyword переменных аргументов. Этот кортеж остается пустым, если никакие дополнительные аргументы не указаны при вызове функции. Ниже приведен простой пример:

 

Когда этот код выполниться, он выведет следующий результат:

Анонимная функция

Эти функции называются анонимными, потому что они не объявлены стандартным способом, используя ключевого слова def. Вы можете использовать ключевое слово lambda, чтобы создать небольшие анонимные функции.

  • Форма Lambda может принимать любое количество аргументов, но возвращать только одно значение в виде выражения. Они не могут содержать команды или несколько выражений.
  • Анонимная функция не может быть прямым вызовом для печати, потому что Lambda требует выражений.
  • Лямбда-функция имеет свои собственные локальное пространство имен и не может получить доступ к другим, чем в их списке параметров, и те, в глобальном пространстве имен переменных.
  • Хотя кажется, что Lambda являются разновидностью одной строки функции, они не эквивалентны встроенными операторов в C или C ++, чья цель состоит в том, чтобы стек распределялся путем передачи функции во время вызова по соображениям производительности.

Синтаксис

Синтаксис Lambda – функций содержит только один оператор, который выглядит следующим образом:

 

Ниже приведен пример, чтобы показать, как работает форма функции Lambda:

 

Когда этот код выполниться, он выведет следующий результат:

Заявление return

Заявление return [выражение] выводит из функции, необязательно передавая обратно выражение для вызывающего. Ответное заявление без аргументов такое же, как возвратный none.

Все примеры, приведенные ниже, не возвращает значение. Вы можете вернуть значение из функции следующим образом:

 

Когда этот код выполниться, он выведет следующий результат:

Область действия переменных

Все переменные в программе не могут быть доступны во всех местах, в этой программе. Это зависит от того, где вы объявили переменную.

Область видимости переменной определяет часть программы, где вы можете получить доступ к конкретному идентификатору. Есть две основные области видимости переменных в Python:

  • Глобальные переменные
  • Локальные переменные

Глобальные переменные против локальных переменных

Переменные, определенные внутри тела функции имеют локальную область видимости, а также те, которые определены вне имеют глобальный масштаб.

Это означает, что локальные переменные могут быть доступны только внутри функции, в которой они объявлены, в то время как глобальные переменные могут быть доступны по всему телу программы всеми функциями. При вызове функции, переменные, объявленные внутри него вводятся в сферу. Ниже приведен простой пример –

 

Когда этот код выполниться, он выведет следующий результат:

 

Читайте также

Добавить комментарий

Войти с помощью: 

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Простая логическая игра "Поймай кота". Задача игры окружить кота точками так, чтобы он не смог убежать с поля. Постигла неудача - начни игру снова!

Заполните форму и наш менеджер перезвонит Вам в самое ближайшее время!

badge
Обратный звонок 1
Отправить
galka

Спасибо! Ваша заявка принята

close
galka

Спасибо! Ваша заявка принята

close