Функция в Python: def. Python 3 для начинающих
Опубликованно 07.01.2018 01:51
В языках программирования функции являются частью кода. Это отдельные блоки, в тексте программы. Определены со слова def. В Python функции, вы можете управлять неограниченное количество раз на любой части сценария.
Потому что нам нужны функции
Функции – это незаменимый инструмент программиста. С их помощью разработчик определяет программу, сделать ее более понятной и стройнее. С помощью функции, вы можете получить многократного использования кода, без его повторного ввода.
Это самый простой способ, чтобы упаковать логика выполнения отдельных частей программы. Уменьшает объем и время, которое специалист тратит на создание сценария.Как написать первую функцию
В Python 3 для начинающих свое знакомство с программированием проще, функция print(). Для того, чтобы увидеть ее в действие, нужна среда разработки. Чтобы сделать это, скачать языковой пакет с официального сайта и установить Python на вашем компьютере.
Откройте меню «Пуск» и в списке программ, чтобы найти Python 3. Разверните его, нажав левую кнопку. В открывшемся списке найдите среды IDLE и запустить его. Наберите print(«Hello, World!») и нажмите клавишу «Enter». Интерпретатор возвращает результат первой функции.
Некоторые программисты предпочитают работать в консоли. Если вы заинтересованы в их номер, нажмите win+R и введите команду python.exe. Появится нормальный переводчик, только с интерфейсом cmd. Составить программу, как описано выше, и нажмите клавишу Ввод, в конце концов, для того, чтобы увидеть результат.
Как использовать def
Новые функции создаются с помощью инструкции def. Являются столь же эффективными, как интегрированные print() или open(), но отличаются от функций в компиляции языков. Python def относится к исполняемой инструкции. Это означает, что функция не существует, в то время как интерпретатор не видит, и не приступит к выполнения.
Инструкция def создает новый объект и дает ему имя. Т. е. когда интерпретатор приступает к реализации, вы создаете новый объект и связывает его с именем, указанным после def. Для того, чтобы хранить данные к функции, вы можете подключить различные атрибуты.
Теперь напишем функцию, которая возвращает фразу «Hello, World!», только с использованием def:>>> def драмы():print(«Hello, World!»)>>> драмы() #вызов функцииHello, World!Синтаксис функции и return
Инструкция def в Python состоит из заголовка и записывается в соответствии со следующими правилами:>>>def <имя>(аргумент 1 аргумент 2 аргумент N):
После заголовка следует блок операторов, который начинается с обязательством возврата. В IDLE интерпретатор сделает это автоматически. Но в "блокнот" или другой текстовый редактор, вы можете забыть о нажмите клавишу Tab. Тогда функция не запустится. Код в блоке инструкций называется телом функции, которая выполняется каждый раз при вызове.
Также в организме иногда находится return:def <имя>(аргумент 1 аргумент 2 аргумент N):...return <значение>
Return завершает функцию и передает в вызывающую программу, объект в результат. Образование не является обязательным. Функция работает без return, и завершится, когда поток управления достигает конца своего тела.
Параметры и аргументы
Каждую функцию можно передавать параметры, которые указаны в скобках после определения. В Python записываются в качестве переменных, разделенных запятыми. Значения или ссылки для объектов эти имена присваиваются в блоке на два очка. После операции, назначения, называются аргументами, а не параметров.
Аргументы внутри функции не связаны с объектами вне его, так что в программировании из них относятся к локальным переменным. Поле зрения ограничивается функция блокировки, который начинается с определения и заканчивается return. Чтобы было более понятно, вот пример:х = 12 #присваивает переменные-ссылки на объекты типа integery = 34>>>def example(x,y): #создать функцию с именем examplex = «Привет» #присваиваем значения аргументов x, yy = «Python»print(x, y, sep= «, »)return None>>>example(x, y) #вызываем функцию, не забыв указать параметрыПривет, Python>>>print(x, y)12 34
Пожалуйста, обратите внимание на предпоследнюю строку кода. В интерпретаторе Python команду print() имеет возвращаемое переменные x и y в глобальной области видимости.
Значения аргументов указывать не нужно внутри функции, вы можете ввести его вручную в момент вызова:>>>def E_2(x, y):return x + y>>>E_2(«Hello, » «Питон!») #для того, чтобы слова были разделены, поставить пробел перед закрывающей кавычкойПривет, Питон!E_2(5, 4)10
Как вы видите из примера с простой функцией E_2, результат целиком и полностью зависит от того, какие элементы x и y. В первом случае, E_2 выполнил сцепления, а во втором - операции арифметического сложения. Это принцип полиморфизма и динамического ввода. Что объекты определяют смысл, позволяет максимальную гибкость и простоту языка. Не нужно тратить время отдельно указать тип данных, с которыми работает функция.
Правила ЛИГИ
Это правило справедливо и для работы с переменными в различных сферах. По умолчанию, все имена, которые вы создаете в теле функции, считаются местными. И имена в форме глобальных. Если вы хотите, чтобы имена можно присвоить значение переменной первого уровня с помощью инструкции notlocal и global.
Правила СПЛАВА объясняет схему разрешения имен:Как только интерпретатор находит переменную внутри инструкции def, который сначала выполняет поиск значения в локальной области.Если поиск не дает результатов, он проходит в рамках любой инструкции def.Над интерпретатор движется на глобальном уровне имен в верхнем уровне модуля и темы, которые помечены как global.Если поиск не дает результатов, переводчик ищет имена внутренней сфере языка Python.
Рассмотрим пример:>>>L = 85>>>R = 23>>>def prime(K):R = 10C = L + K+Rreturn C>>>нажать на(5)100
Переменные L и R расположены на верхнем этаже и являются глобальными именами. R, C и K – локальные переменные, так как присвоение значений происходит внутри инструкции def.
Интерпретатор выполняет операции сложения для R, C и K, не обращая внимания на переменную R из инструкции def. Затем, глядя в Сторону и, не найдя его среди имен local, передает на верхний уровень.Что такое лямбда
В дополнение к def, в Python можно создавать с помощью специальных выражений, одно из которых - лямбда. Оригинальное название получил в честь лямбда-исчисление, язык ЛИСП.
Как определить, лямбда-создать функцию, которая будет возможно в будущем вызвать, но не связывает с каким-то именем. На практике лямбда используют, когда нужно отложить выполнение фрагмента кода.
Основы лямбда-выражений
Внешний вид лямбда-выражения напоминают инструкции def. Сначала вы пишете ключевое слово, лямбда, затем аргументы, двоеточие и выражение:>>>f = lambda x, y, z: x + y + z>>>f(2, 3, 4)9
Его тело-это одно выражение, а не блок инструкций. Из-за этого лямбда ограничена в функциональности и не настолько универсален, как и определения. В нем может быть реализована только логика, без циклов while или for.
Для того, чтобы лямбда действуют подобные с def правила для поиска переменных. Имена, указанные вне выражения, являются глобальными, внутри помещений, и не влияют друг на друга.
Лямбда-выражение, очень удобно вставлять в программу. Из-за небольшого размера это позволит сократить и упростить код. Но использование лямбда-это не важно. В Python 3 начинающих для работы будет достаточно инструкции def.
Категория: Мобильная техника