Python повторное использование функции

Уроки Python / Повторное использование кода с помощью функций и модулей (часть 1)

Программирование / Олег Шпагин / Python Админ Tech

Привет друзья! Сегодня мы с вами научимся повторно использовать код с помощью функций в Python. Мы будем создавать свои функции и вызывать их в коде на Пайтон. Причем некоторые функции будут с аргументами, а некоторые без. 😊 Урок получился длинный поэтому про модули и повторное использование кода с помощью модулей мы с вами поговорим в следующем уроке. ✔ Поддержи проект: https://wiseplat.org/donat ✔ Вступай в группу Вк — https://vk.com/wiseplat 🚀 ✔ Подписывайся https://zen.yandex.ru/id/5e9a612424270736479fad54 ✅ Функция в python — объект, принимающий аргументы и возвращающий значение, определяется с помощью инструкции def. ✅ Инструкция return говорит, что нужно вернуть значение. Смотри все уроки по Python: https://www.youtube.com/playlist?list=PLxiU3nwEQ4PHtLT8LzGAdcuzE-laotXps ❗ При программировании на Пайтон не забываем про пробелы(отступы) в коде программы на Питоне – т.к. они формируют структуру кода. #урокиpython #урокипитон #python #программирование #дляначинающих ✅ Уроки от #OlegShpagin 👨🏼💻 Ставь лайк, если тебе понравилось видео 👍 ✅ С нуля научиться программировать на Python? – Легко! Повторяйте все то, что показываем в обучающем видео. Тогда вы будете закреплять материал быстрее и сможете начать программировать на Python эффективно. 👍 Смотрите наши обучающие видеоуроки и выучите Python быстрее всех! 🙂 ►► Подписывайся на наш канал! ******************************** ❤ Если Вам понравилась публикация, подписывайтесь на канал! 👍 Ставьте лайки, тогда будем еще создавать такой контент 🙂 ✉ Если есть вопросы или пожелания, то пишите, в комментариях. ******************************** python,python функции,функции,python функция,уроки python,бесплатные уроки python,python для начинающих,python с нуля уроки,python с нуля для начинающих,python с нуля,python уроки с нуля,питон уроки,уроки пайтон,python 3,python уроки,python обучение,python курс для новичков,курс python,python введение,питон для начинающих,курс python 3,как начать на python,функции python 3,создать функцию python,def python,python учить,python как начать,пайтон

Читайте также:  Удалить таблицу html php

Источник

Функции в Python – пособие с примерами

Чтобы перейти к более глубоким концепциям языка, рассмотрим функции в Python. В настоящей статье мы изучим разные виды функций: встроенные функции, рекурсивные функции, лямбда-функции и функции, определенные пользователем. Мы разберем их синтаксис и примеры их работы.

Итак, приступим к обучению!

Введение

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

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

Пользовательские функции

Преимущества пользовательских функций в Python

  1. Функции помогают разделить программу на отдельные модули. Это упрощает управление, отладку и масштабирование кода.
  2. Функции реализует повторное использование кода. Каждый раз, когда вам нужно выполнить последовательность операторов, все, что вам нужно для этого сделать, это вызвать функцию.

Обозначение функции в Python

Чтобы определить свою собственную функцию в Python, вам нужно написать ключевой слово def перед именем функции. И за его именем должны следовать круглые скобки, а после них двоеточие ‘ : ‘.

Содержимое внутри тела функции должно иметь одинаковый отступ.

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

def hello(): """ This Python function simply prints hello to the screen """ print("Hello")

При помощи атрибута __doc__ можно получить доступ к этой строке документации.

def func1(): """ This is the docstring """ print("Hello") func1.__doc__ # Результат: # 'This is the docstring'

Однако, если вы примените этот атрибут к функции без строки документации, произойдет следующее:

sum.__doc__ type(sum.__doc__) # Результат: # bool(sum.__doc__) # Результат: # False

Если вы еще не знаете какой код должен быть в вашей функции, то поместите туда оператор pass . В противном случае вы получите следующее сообщение об ошибке: “Expected an indented block”.

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

Правила именования функций в Python

При именовании функций мы следуем тем же правилам, что и при именовании переменных.

  1. Имя может начинаться с одного из следующих символов: A-Z, a-z и знак подчеркивания ‘ _ ‘.
  2. Остальная часть имени может содержать следующие символы: AZ, az, цифры (0-9) и подчеркивание (_).
  3. Зарезервированные ключевые слова не могут быть выбраны в качестве имени (идентификатора) функции или переменной.

Хорошей практикой считается называть функцию так, чтобы было понятно что она делает.

Параметры функций в Python

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

Здесь функция sum() принимает два параметра — a и b . Когда мы вызываем функцию, то передаем в нее числа 2 и 3 . Это аргументы a и b соответственно. Функции в Python могут содержать любое количество параметров или вообще ни одного.

В следующем примере мы попробуем сложить целое число (тип int ) и число с плавающей запятой (тип float ):

Но несовместимые типы данных складывать нельзя:

Traceback (most recent call last): File “”, line 1, in sum2(‘Hello’,2) File “”, line 2, in sum2 print(f”+=”) TypeError: must be str, not int

Оператор return

Функции в Python могут (но необязательно) возвращать значения. Значение может быть результатом работы данной функции или тем, чем вы определите – выражением или какой-то величиной.

def func1(a): if a%2==0: return 0 else: return 1 func1(7) # Результат: # 1

Как только интерпретатор доходит до оператора return , выполнение функции прекращается. И затем уже будет выполняться следующий после вызова функции оператор. Теперь давайте попробовать вернуть выражение:

def sum(a,b): return a+b sum(2,3) # Результат: # 5

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

Чтобы вызвать функцию в Python, нужно просто написать ее название в нужном месте вашего кода и передать в нее аргументы, если они имеются. Давайте вызовем объявленную ранее функцию hello() :

Как вызывать функцию с аргументами, мы уже видели в предыдущем разделе.

Область видимости и время жизни переменных в Python

Переменная в Python не везде видна и время ее жизни ограничено. Мы касаемся этого вопроса здесь потому, что все это может зависеть от того, находится ли переменная внутри функции или вне ее.

Область видимости

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

Переменная, объявленная внутри функции, имеет локальную область видимости. Другими словами, она является локальной для этой самой функции.

def func3(): x=7 print(x) func3() # Результат: # 7

Теперь, если вы попытаетесь получить доступ к переменной x вне функции, у вас ничего не выйдет.

Traceback (most recent call last): File “”, line 1, in x NameError: name ‘x’ is not defined

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

y=7 def func4(): print(y) func4() # Результат: # 7

Однако вы не можете изменить ее значение внутри локальной области видимости (в данном случае — внутри функции). Для этого вы должны объявить ее глобальной внутри функции, используя для этого ключевое слово global .

def func4(): global y y+=1 print(y) func4() # Результат: # 8 y # Результат: # 8

Как можно заметить, значение переменной y было изменено.

Срок жизни переменной

Время жизни переменной — это период времени, в течение которого она находится в памяти.

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

def func1(): counter=0 counter+=1 print(counter) func1() # Результат: # 1 func1() # Результат: # 1

Как можно заметить, значение переменной внутри функции не растет.

Удаление функции Python

До сих пор мы видели, что можно удалять переменные. Точно так же при помощи команды del можно удалить и функцию.

def func7(): print("7") func7() # Результат: # 7
Traceback (most recent call last): File “”, line 1, in func7() NameError: name ‘func7’ is not defined

При удалении функции скобки после ее имени ставить не нужно.

Встроенные функции Python

Эти функции Python применяется к таким конструкциям, как int , float , bin , hex , string , list , tuple , set , dict и так далее. Мы рассмотрим их в соответствующих статьях про эти типы данных.

Лямбда функции в Python

Как мы уже говорили ранее, у функции не обязательно должно быть имя. Лямбда-выражение в Python позволяет нам создать анонимную функцию, и мы используем для нее ключевое слово lambda . Ниже приведен синтаксис лямбда-выражения.

myvar=lambda a, b : (a * b) + 2 myvar(3, 5) # Результат: # 17

Этот код принимает числа 3 и 5 в качестве аргументов a и b соответственно и помещает их в выражение (a * b) + 2 . Получается (3 * 5) + 2 , что равно 17 . Наконец, возвращается 17 .

Собственно, объекту функции присваивается идентификатор myvar .

Рекурсивные функции в Python

Рекурсия – это очень интересная концепция в любой области знаний. В рекурсии используется что-то чтобы определить себя через обращение к себе. В Python это означает, что функция вызывает саму себя. Чтобы увидеть, как это может быть полезно, давайте попробуем вычислить факториал числа. Математически факториал числа это: n!=n*n-1*n-2*…*2*1

В виде кода это выглядит следующим образом:

def facto(n): if n==1: return 1 return n*facto(n-1) facto(5) # Результат: # 120 facto(1) # Результат: # 1 facto(2) # Результат: # 2 facto(3) # Результат: # 6

Это все, что мы пока хотим вам сказать про рекурсию в Python.

Заключение

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

Источник

Оцените статью